Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PIL:图像序列的错误打开_Python_Image_Python Imaging Library_Canopy - Fatal编程技术网

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

Python PIL:图像序列的错误打开,python,image,python-imaging-library,canopy,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], im

我在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
我试图用“np.abs”强制程序来纠正这个问题,但对我来说,强制这样做似乎太奇怪了

这是一个示例信号:该图是用matplotlib绘制的,黑色的是用ImageJ拍摄的,显示了正确的轮廓:

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

您使用的是PIL还是枕头?哪个版本?另外,您是否可以发布一些示例数据来说明问题,以便我们可以尝试重现它?错误是否仅发生在32768以上的值?是的,似乎只有在峰值较大时才会发生。我在用PIL。这里是一个指向google drive文件夹的链接,其中包含:-.tif堆栈图像-我使用的程序的一部分。