私はかなり大きな画像から着色された地面のコントロールポイントを検出するプログラムに取り組んでいます。 TIFF画像は約3 - 4 GB(約35 000 x 33 000 pix)です。 私は画像処理を行うためにPython 2とOpenCVを使用しています。OpenCVは大きな画像をロードしません(〜4GB)
import cv2
img = 'ortho.tif'
I = cv2.imread(img, cv2.IMREAD_COLOR)
この部分は(常に)エラーメッセージを生成しません。画像を見せながらすることはありません:
cv2.imshow('image', I)
私はまた、matplotlibのを利用して画像を表示しようとしている:
plt.imshow(I[:, :, ::-1]) # Hack to change BGR to RGB
は、大きな画像についてのOpenCVやPython上の任意の制限はありますか? このiamgeをロードするにはどうしたらいいですか?
PS:私がこの作業を行うコンピュータは、Windows 10の「ワークステーション」です(画像を扱うには十分な馬力があります)。事前に
、あなたの助けに感謝:)
エラーメッセージには何が表示されますか? matplotlibの plt.imshowについては – Hexaholic
(self.image [:,:、:: - 1]) はTypeError: : 'NoneType' オブジェクトには、属性 '\ _ \ _ __getitem __ \ _ \ _' OpenCVのサイスを持っていませんOpenCVエラー:cv :: imshow、file .. \ .. \ .. \ modules \ highgui \ src \ window.cppのアサーションに失敗しました(size.width> 0 && size.height> 0)261行 cv2.imshow ( 'image'、self.image) cv2.error:.. \ .. \ .. \ modules \ highgui \ src \ window.cpp:261:エラー:(-215)size.width> 0 && size.height > 0 in function cv :: imshow イメージのサイズは0 x 0ピクセルです。 – cLupus
...あなたはこのことを肯定しています(そして、私がOpenCVとPythonを意味するこの言葉を言ったとき)は64ビット用にコンパイルされていますか? – carlosdc