我正在阅读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