使用 seek() 以 .tiff 格式创建平均像素值比较软件?
Using seek() to create a mean pixel value comparing software in .tiff format?
PIL 如何处理 seek() 函数以在多帧 .tiff 文件中运行?我正在尝试提取文件中各种帧的一条信息(灰度像素值),但无论我设置什么搜索,都会出现 EOFE 错误。
示例代码:
from PIL import Image
im = Image.open('example_recording.tif').convert('LA')
width,height = im.size
image_lookup = 0
total=0
for i in range(0,width):
for j in range(0,height):
total += im.getpixel((i,j))[0]
total2=0
im.seek(1)
for i in range(0,width):
for j in range(0,height):
total += im.getpixel((i,j))[0]
print total
print total2
错误日志如下所示:
文件 "C:\Users\ltopuser\Anaconda2\lib\site-packages\PIL\Image.py",第 1712 行,正在查找
提高 EOFError
EOFError
干杯,JJ
由 PIL 到达文件末尾引起:可以这样修复;
class ImageSequence:
def __init__(self, im):
self.im = im
def __getitem__(self, ix):
try:
if ix:
self.im.seek(ix)
return self.im
except EOFError:
raise IndexError # this is the end of sequence
for frame in ImageSequence(im):
for i in range(0,width):
for j in range(0,height):
total += im.getpixel((i,j))[0]
PIL 如何处理 seek() 函数以在多帧 .tiff 文件中运行?我正在尝试提取文件中各种帧的一条信息(灰度像素值),但无论我设置什么搜索,都会出现 EOFE 错误。 示例代码:
from PIL import Image
im = Image.open('example_recording.tif').convert('LA')
width,height = im.size
image_lookup = 0
total=0
for i in range(0,width):
for j in range(0,height):
total += im.getpixel((i,j))[0]
total2=0
im.seek(1)
for i in range(0,width):
for j in range(0,height):
total += im.getpixel((i,j))[0]
print total
print total2
错误日志如下所示:
文件 "C:\Users\ltopuser\Anaconda2\lib\site-packages\PIL\Image.py",第 1712 行,正在查找 提高 EOFError
EOFError
干杯,JJ
由 PIL 到达文件末尾引起:可以这样修复;
class ImageSequence:
def __init__(self, im):
self.im = im
def __getitem__(self, ix):
try:
if ix:
self.im.seek(ix)
return self.im
except EOFError:
raise IndexError # this is the end of sequence
for frame in ImageSequence(im):
for i in range(0,width):
for j in range(0,height):
total += im.getpixel((i,j))[0]