Python PIL:错误的图像序列打开

时间:2014-12-04 20:52:38

标签: python image python-imaging-library canopy

我在PIL遇到了一个奇怪的问题。 我打开用CCD相机拍摄的图像堆栈,然后将它们保存在一个numpy矩阵中。 我写了一个小功能来做到这一点。 我注意到,当我分析一些特定像素中的时间信号时,出现负值,但这很疯狂,因为我确定我的光强度图像不能显示小于0。 这是我的功能:

def readStack (filename, stack, extension = '.tif'):   
image = Img.open(filename+extension)
M,N = image.size[1], image.size[0]
matrix = np.zeros((M,N,stack))
for k in range (stack):
    if (k%1000 == 0): print k,'; ' 
    image.seek(k)
    loaded = image.load()
    for i in range(M):
       for j in range (N):
           matrix[i,j,k] = np.abs(loaded[j,i])
return matrix

我试图纠正这个问题,用#34; np.abs"强制程序,但对我来说,被迫这样做似乎太奇怪了。

这是一个示例信号:使用matplotlib绘制图表,使用ImageJ绘制黑色图表并显示正确的配置文件: enter image description here

有时会发生这种情况,峰值会变为负值。但是,引用相同像素的两个信号在每个其他值中都是相同的。 提前感谢您的帮助。

0 个答案:

没有答案