私は、フレームを60フレーム(TIFFファイル)で実行し、ノイズ除去フィルター(Median)を適用してフレームをビットを分析前に使用します。しかし、私のプログラム(それはフレームごとにフレームを取る)は、単一フレームのtiffを出力します。何故ですか?どのように私はそれを世話することができますか?Tiffメジアンフィルターを1つのフレームとしてエクスポートするOpenCV Python
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')
あなたはサンプルファイルを持っていますか? 1つのファイル内のすべての画像の中央値である1つの画像を求めたいのですか? –
いいえ、私は短い映画からのノイズをフィルタリングするために、すべてのフレームにメディアンフィルタを適用しようとしています。私はサンプルファイルを持っていますが、どこにでもアップロードするには、とにかくフォーマット変換が必要です。気になるものはほぼ600 MBです(しかし、助けがあればできます)。最終的な結果は、60フレームの単一のファイルtiffシーケンスでなければならず、すべての単一フレームにメディアンフィルタが適用されます。 –