2017-03-31 2 views
0

スクリプトのエラーを理解しようとしています。私は同僚からスクリプトを継承し、私はそれを私のマシン上で動作させようとしています。私はPython3.3.5でそれを実行していて、ifは.tifファイルでいくつかの測定関数を実行します。これらは私がスクリプト改io.imreadいくつかの.tifファイルを読む他にはない

import matplotlib, copy, skimage, mahotas, os, tifffile 
from skimage import io, filter, morphology, draw 
import matplotlib.pyplot as plt 
import numpy as np 
from PIL import Image 

電話して、私の願望の.tifファイルにio.imread関数を呼び出す行でエラーがスローされたモジュールのリストです。

‘OSError: cannot identify image file’ 

ただし、別のtif画像ファイルのパスを開くようにスクリプトを変更すると、機能します。これは私のpythonの設定に問題があると思われるので、私は自分のコードを含めていない?私はPython27でこれを実行しようとすると、より多くのエラーが発生します。使用しているモジュールと互換性がない可能性がありますか? 誰かが、io.imodeが画像ファイルの一部では動作するかもしれないが、他のものでは動作させないための手がかりを持っていますか? 画像ファイル間の唯一の違いはサイズです。

答えて

1

私はそれを理解しました。スキップ機能は8ビットイメージファイルで動作しますが、私のファイルは16ビットで動作します。私の16ビット画像の全てを許可tifffile機能

tiff.imread() 

io.imread() 

から画像オブジェクトを変更 処理されます。初心者の間違いですが、ライブラリ関数の違いを覚えておいてください。

関連する問題