我试着让一个程序在一个60帧的序列上运行(在一个tiff文件中),并应用一个降噪过滤器(中值),以便在分析之前清理一点帧。但是,我的程序(一帧接一帧)将输出一帧tiff;这是为什么?我该怎么处理?你知道吗
from PIL import Image
import cv2
import numpy as np
im = Image.open('example_recording.tif').convert('L')
im.save('greyscale_example.tif') #converts to greyscale
width,height = im.size
image_lookup = 0
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 # if end of sequence
for frame in ImageSequence(im):
imarray = np.array(frame)
Blur = cv2.medianBlur(imarray,5)
frame = Image.fromarray(Blur)
im.save('corrected.tif')
我认为您没有正确地重新组合最终堆栈(上面没有显示?),并保存单个帧(最后一帧)?你知道吗
另一种选择是放弃OpenCV而使用scipy:
相关问题 更多 >
编程相关推荐