我正在閱讀ddsm乳房X線照片圖像。並且在標準化繪圖之後。這是灰度圖像,但我將其視爲RGB,通過複製相同的通道3次。問題是,當我使用pyplot
從matplotlib
標準化的形象得到飽和,而當我繪製使用scipy.misc
toimage
,它不inline matplotlib pyplot飽和,而scipy.misc toimage不是
這裏是我的代碼:
from scipy import misc
%matplotlib inline
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
img = misc.imread('testcolor.png')
print(type(img)) #<type 'numpy.ndarray'>
img.shape #(512,512,3)
的圖像的像素值都是這樣
print(img[:,:,1])
#[[ 98 97 99 ..., 0 0 0]
[ 98 98 100 ..., 0 0 0]
[100 100 100 ..., 0 0 0]
...,
[ 91 95 96 ..., 0 0 0]
[ 88 89 92 ..., 0 0 0]
[ 95 94 97 ..., 0 0 0]]
然後我歸一化用下面的代碼圖像:
imgn = np.where(img>0,img,np.nan)
img_norm = (img - np.nanmean(imgn,axis=(0,1)))/np.nanstd(imgn,axis=(0,1))
和以前一樣歸像素像
print(img_norm[:,:,1])
#[[-0.71566175 -0.74025369 -0.69106981 ..., -3.1256717 -3.1256717
-3.1256717 ]....
而且
print(np.min(img_norm)) #-3.12567170176
print(np.max(img_norm))#2.80098542174
隨着matplotlib pyplot我得到這個:
plt.figure()
plt.imshow(img_norm)
plt.show()
然後我繪製相同諾瑪與toimage
爲什麼我有這種差異lized圖像從scipy.misc
from scipy.misc import toimage
toimage(img_norm).show()
?
順便說一句,在unormalized原始圖像是這樣的:
是不是應該用'uint8'來顯示圖像?另外,'img_norm'中的負數呢? – Divakar