質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

3回答

3429閲覧

OpenCVのcv2.imread()のエラー

egpt

総合スコア25

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/09/04 23:51

編集2020/09/05 00:58

Google ColabでOpenCVを用いて画像を表示しようとしているときに出てきたエラーです.
調べたところ,ファイルパスが正しくないとimgにNoneが代入されてしまいうまく動かないという記述を見かけたのですが,
ファイルパスは正しく指定できているように思います.一体何がいけないのか,ご教示いただけると幸いです.

書いたコード

Python3

1import cv2 2from google.colab.patches import cv2_imshow 3import os.path 4 5path = train_path + train_files[0] 6print(train_path + train_files[0]) 7if os.path.exists(path): 8 img = cv2.imread(path) 9 # print(img.shape) 10 cv2_imshow(img)

出てきたエラー

Python3

1drive/My Drive/signate/tellus_comp/train_images/train_00.tif 2--------------------------------------------------------------------------- 3AttributeError Traceback (most recent call last) 4<ipython-input-85-9f6f935c8cba> in <module>() 5 8 img = cv2.imread(path) 6 9 # print(img.shape) 7---> 10 cv2_imshow(img) 8 9/usr/local/lib/python3.6/dist-packages/google/colab/patches/__init__.py in cv2_imshow(a) 10 20 image. 11 21 """ 12---> 22 a = a.clip(0, 255).astype('uint8') 13 23 # cv2 stores colors as BGR; convert to RGB 14 24 if a.ndim == 3: 15 16AttributeError: 'NoneType' object has no attribute 'clip'

~追記~
ローカル環境で同じファイルを指定して実行しても
同じエラーが発生しました.

ファイルが少しおかしくなっていることが考えられますが,
ファイルを開き,plt.plot()で描画したとき正しく表示されています.

また,imread()が.tifに対応していないのかとも思いましたが
これは対応しているそうです.

いったいなぜなのでしょうか............(´;ω;`)

~第二追記~
マウントはできており,パスも通っているように思われます.
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

解決?かどうかはわかりませんが,.tifファイルをPILで.jpgとして保存したのち
その.jpgファイルをimread()で指定すれば正しく動きました.

投稿2020/09/05 01:34

egpt

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

画像のデーターは正しく得られているのでしょうか? 自分で確かめていますか?
イメージ説明

投稿2020/09/05 01:27

technocore

総合スコア7200

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

egpt

2020/09/05 01:33

ありがとうございます. 数値は正しく取得できていました(0~65535) 解決?かどうかはわかりませんが,.tifファイルをPILで.jpgとして保存したのち その.jpgファイルをimread()で指定すれば正しく動きました. imread()のパスで.tifも動くとあったので完全解決には至っていませんが...
guest

0

画像ファイルはGoogleDriveに保存されているようですが、正しくマウントできていますか?

Google ドライブをローカルにマウントする

lsコマンドなどで画像へのパスを指定して、目的のファイルは見つかりますか?
イメージ説明

投稿2020/09/05 00:49

technocore

総合スコア7200

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

egpt

2020/09/05 00:59

質問に第二追記として画像を添付しました. マウントは無事にできており,そのパスで正常にほかの動作は実行できているように思われます.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問