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

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

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

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

Q&A

解決済

1回答

11965閲覧

cv2.imreadエラー対処法

hss_

総合スコア39

OpenCV

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

0グッド

0クリップ

投稿2018/10/25 02:01

前提・実現したいこと

spyderを使用していてcv2.imreadで画像の読み込み時に
エラーが発生している原因を知りたい。

発生している問題・エラーメッセージ

AttributeError: module 'cv2' has no attribute 'imread'

該当のソースコード

img=cv2.imread('test.png')

試したこと

コマンドプロンプトでは問題なく動きます

補足情報(FW/ツールのバージョンなど)

spyderで実行しようとするとエラーが発生します。

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

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

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

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

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

tiitoi

2018/10/25 02:04

import cv2; print(cv2.__file__) とするとどうなりますか
hss_

2018/10/25 02:16

「__file__」の部分に色々入れてみましたが(test.pngなど)、AttributeError: module 'cv2' has no attribute '__file__'とエラーが表示されます。
guest

回答1

0

ベストアンサー

スクリプトを実行しているディレクトリと同じ階層に cv2 というフォルダまたは cv2.py という Python ファイルを作成していないでしょうか?
その場合、モジュールではなくそちらが読み込まれてしまうので削除するか名前を変更してください。

確認した手順

1. test という名前の Python 環境作成

コマンドプロンプト上で以下を実行

conda create -n test

2. Python 環境を test に切り替え

activate test

3. Spyder 導入

conda install spyder

4. opencv 導入

pip install opencv-python

5. spyder 起動

spyder

投稿2018/10/25 02:19

編集2018/10/25 04:35
tiitoi

総合スコア21954

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

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

hss_

2018/10/25 02:32

「cv2」フォルダおよび「cv2.cp35-win_amd64.pyd」というファイルがありましたので、削除してみましたが症状は同じでした。コマンドプロンプトでは問題なく実行できるので、何故か疑問です。
tiitoi

2018/10/25 02:34

「cv2」フォルダがあったのならそれが原因ですね。 import は1度実行すると、2回目はキャッシュを使うようになるので、spyder は使ったことがないのでわかりませんが、一度起動し直してください。__pycache__ というフォルダがあったらそれも削除してください。
hss_

2018/10/25 03:21

ありがとうございます。「cv2」を削除してみましたが、今度はModuleNotFoundError: No module named 'cv2'というエラーがでてしまいます。初心者で申し訳ないですが、対処法をご教示願います。
tiitoi

2018/10/25 03:27

Python 環境が複数ある状態で、OpenCV が動くコマンドプロンプトから起動した Python インタプリタと Spyder で参照している Python 環境が違うんでしょうね。Spyder の Python 環境に pip install opencv-python で opencv を入れてください。
tiitoi

2018/10/25 03:28

anaconda をお使いでしょうか? conda info -e で環境一覧が見れるので、spyder が参照している Python 環境を調べて、activate <環境名> で環境を切り替えて、pip install opencv-python でインストールすればよいです。
hss_

2018/10/25 04:03

ありがとうございます。ご教示いただいた通りspyderが参照している環境でインストールしてみましたが、今度はModuleNotFoundError: No module named 'cv2.cv2'というエラーがでて、みてみると「cv2」フォルダができていたため、それを削除してみました。 そうすると最初のAttributeError: module 'cv2' has no attribute 'imread'のエラーがまたでてきている 状態です。コマンドプロンプトもSpyderの参照している環境は同じだと思っています。 他に考えられることはありませんでしょうか。お手数ですがお願い申し上げます。
hss_

2018/10/25 04:04

anacondaを使用しております。
tiitoi

2018/10/25 04:38

> コマンドプロンプトもSpyderの参照している環境は同じだと思っています。 どのように確認したのでしょうか? まず「cv2」等のフォルダは作らないようにしてください。 あと削除したあとは一旦 spyder は終了して再起動してください。 一応、こちらでも環境作成から spyder で import cv2 できるところまで確認できたので、回答に追記しました。
hss_

2018/10/25 05:51

ご教示いただいた通りやったら解決しました。感動。作った環境下でspyderをインストールしないと参照している環境が異なってしまうのですね。とても勉強になりました。感謝申し上げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問