2011-09-07 32 views

答えて

6

残念ながらOpenCVはTIFFディレクトリをサポートしておらず、マルチフレームのTIFFファイルから最初のフレームのみを読み込むことができます。

+0

それは私が恐れていたことです。確認のおかげで。 – so12311

8

OpenCVではマルチフレームのTIFFファイルを開くことができませんが、PILを使用して画像を開いてOpenCVに渡すことができます。私はまだそれがTiffCaptureをインストールピップ後に新しい「CV2」名前空間

tiff = Image.open('sample.tif') 
try: 
    while 1: 
     # Convert PIL image to OpenCV 
     image = cv.CreateImageHeader(tiff.size, cv.IPL_DEPTH_8U, 1) 
     cv.SetData(image, tiff.tostring()) # It's "tostring" and not "toString()"! 
     # Do whatever you're going to do with OpenCV data 
     tiff.seek(tiff.tell()+1) 
except EOFError: 
    pass 
+1

ありがとう。他の誰かが気になる場合は、 '' cv2''で作業しています。さらに、 '' cv2''キャプチャオブジェクトの動作をエミュレートするクラスを作ったので、マルチフレームのTIFFファイルをムービーファイルのように扱うことができます。 '' PseudoCapture''クラスを見てください:https://github.com/danielballan/mr/blob/master/mr/video/tiff.py –

+0

@ダン・アラン私は非常に興味がありますが、このリンクは壊れています。スクリプトを提供してください? – JEquihua

+1

私は '' pims''と呼んでいる別のリポジトリに画像を読み込むものを分割しました。現在、この組織のページにあります:https://github.com/soft-matter/pims –

0

あなたはまた、OpenCVの中にロードし、アクセスTIFFスタックすることができますでの作業を取得することができていません。これは、PILを使用して、OpenCVでtiffに期待しているすべてのVideoCaptureメソッドを実装しています。

関連する問題