#問題
pythonでjpeg2000の画像を表示しようとしているのですが
AttributeErrorが出てしまいます。
自分なりに調べたのですが理解ができなかったため具体的な解決策を
教えていただきたいです。
#発生している問題・エラーメッセージ
python3
1imread_('T53SLV_20201202T020039_B04_10m.jp2'): can't read header: OpenCV(4.2.0) /root/opencv/opencv-4.2.0/modules/imgcodecs/src/grfmt_jpeg2000.cpp:196: error: (-215:Assertion failed) depth == 8 || depth == 16 in function 'readHeader' 2 3Traceback (most recent call last): 4 File "chap5.py", line 20, in <module> 5 img_float = img.astype(np.float32) 6AttributeError: 'NoneType' object has no attribute 'astype' 7
#該当のソースコード
python3
1import os 2import numpy as np 3os.environ["OPENCV_IO_ENABLE_JASPER"] = "True" 4import cv2 5from PIL import Image 6 7#扱える最大ピクセル数を増やす 8Image.MAX_IMAGE_PIXELS = 200000000 9 10#画像pass 11path_b4 = ('S2B_MSIL2A_20201202T020039_N0214_R060_T53SLV_20201202T041853.SAFE/GRANULE/L2A_T53SLV_A019534_20201202T020037/IMG_DATA/R10m/T53SLV_20201202T020039_B04_10m.jp2') 12 13#元の画像を読み込む 14img = cv2.imread(path_b4, cv2.IMREAD_COLOR) 15img_float = img.astype(np.float32) 16 17#ウィンドウに表示 18cv2.imshow("MAP", img) 19 20#終了処理 21cv2.waitKey(0) 22cv2.destroyAllWindows()
#試したこと
pngファイルを試したところうまく表示できました。
#環境等
ubuntu20、python3でopencv(4.2.0)を使っています
画像は.jp2を用いており、(10980, 10980)の大きさです。
これと同じ質問?
https://teratail.com/questions/281376
これも?
https://ja.stackoverflow.com/questions/72057/python%E3%81%AEopencv%E3%82%92%E7%94%A8%E3%81%84%E3%81%9Fjp2%E7%94%BB%E5%83%8F%E3%81%AE%E8%A1%A8%E7%A4%BA
環境とプログラムを書き換え、違うエラーが出たため新しくトピックを作成したほうがいいと思い作成しました。かなり重複してますので立てないほうが良かったでしょうか。すみません。
同じ質問を何度もして、「ライブラリがサポートしていないので無理です」という回答をそのたびに受けているようですが、それで納得できない理由は何でしょうか?
私は複数jp2画像を所持しているのですが、ある一つでのみ表示ができません。そのため何による差異なのかを明らかにしたいのです。
表示できていたときもあるため、サポートしていないとは思えないのです。
では、表示できる画像ファイルと表示できない画像ファイルを質問に提示してください
表示できないファイルですが2MBを大きく超過する(62MB程度)ため添付することができないのです。
ならば外部のアップローダーなりdropboxの共有なり何なり使ってください
ご指摘ありがとうございました。
回答1件
あなたの回答
tips
プレビュー