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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

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

Q&A

1回答

3644閲覧

【超初心者】python3.7.2でcv2のインポートエラーが発生してしまう

pypypy.bom

総合スコア31

Python 3.x

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

0グッド

0クリップ

投稿2019/03/05 06:52

編集2019/03/05 09:28

前提・実現したいこと

python3.7.2をvscodeを用いて実行しています。
プログラムの内容は手書き文字の学習済みモデルに対しopenCVを用いて
画像を読み取り、答えを返すようなプログラムです。
いろいろなウェブサイトなどを参考にし、調べてみたのですが、解決ができず質問いたしました。

実現したいことは
openCVをpython3.7.2で使用することです。

初めての質問なので、至らないところも多々ありますが、ご回答よろしくお願いいたします。

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

[Running] python -u "c:\Python\code\number_sample_test.py"
Traceback (most recent call last):
File "c:\Python\code\number_sample_test.py", line 1, in <module>
import cv2
File "c:\Python\code\cv2_init_.py", line 89, in <module>
bootstrap()
File "c:\Python\code\cv2_init_.py", line 79, in bootstrap
import cv2
ImportError: DLL load failed: �w�肳�ꂽ���W���[�������‚���܂���B

[Done] exited with code=1 in 0.794 seconds

該当のソースコード

import cv2
from sklearn.externals import joblib

def predict_digit(filename):
clf = joblib.load("digits.pkl")
画像を読み込む
my_img = cv2.imread(filename)
グレースケールに変換する
my_img = cv2.cvtColor(my_img, cv2.COLOR_BGR2GRAY)
8 * 8のサイズに変換する
my_img = cv2.resize(my_img,(8,8))
白黒反転する
my_img = 15 - my_img // 16
二次元を一次元に変換
my_img = my_img.reshape((-1,64))
res = clf.predict(my_img)
return res[0]

n = predict_digit("C:/Python/code/number_png/number.png")
print("number.png = " + str(n))

試したこと

import cv2
cv2.version
上記のプログラムを実行しましたが同様のエラーが発生してしまいました。

また、vscodeには
Module 'cv2' has no 'imread' member
のように、問題点として、cv2を記述した部分全てに赤波線が出てきました。

また、
pip listにより、openCVがインストールできているかどうかを確かめたところ
opencv-python 4.0.0.21
という風に表示がなされていました。

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

openCVは
pip install opencv-python
により、vscodeのターミナル上からインストールをしました。

python2.7,Anacondaを途中でインストールしました。
しかし、エラーの内容は全く変わりませんでした。

setting.json
{
"[python]": {},
"python.pythonPath": "C:\Python\Python37",
"workbench.colorTheme": "Solarized Dark"
}

上記のように設定しております。

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

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

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

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

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

kazto

2019/03/05 06:57

ご使用の環境に複数バージョンのPython(特に2系)が入っていたりはしませんか?
pypypy.bom

2019/03/05 07:03

お返事ありがとうございます。複数のpythonが入ってしまっております。 他にpython2.7や途中でanacondaもインストールしてしまいました。 しかし、これらをインストールする以前から、同様のエラーが出てしまっている状態でした
kazto

2019/03/05 07:07

なるほど。それではどのPythonに対してpipパッケージがインストールされたか分かりませんね。。。
kazto

2019/03/05 07:10

VSCodeのターミナル上で「where python」「where pip」を実行した際、それぞれどのような出力になりますでしょうか。
pypypy.bom

2019/03/05 07:10

少し、それてしまうのですが いわゆる3系と言われるpythonでもopenCV は利用することができるのでしょうか?
kazto

2019/03/05 07:11

できますよ
pypypy.bom

2019/03/05 07:15

where python where pip ともになにも表示されませんでした。
kazto

2019/03/05 07:18

pipもですか。pip installは成功しているのでしょうか。
pypypy.bom

2019/03/05 07:21

C:\Python\code内にpipとcv2というフォルダを見つけました。 この中にはpythonがありませんでした。 また、python3.7.2は C:\Python\Python37内にありましたが これが原因でしょうか?
pypypy.bom

2019/03/05 07:21

pipでインストールした際はエラーなどのメッセージは出ませんでした。
guest

回答1

0

PATHが通っていないと思われます。
システムのプロパティから環境変数の設定を開き、PythonをインストールしたパスをPath環境変数に追加する必要があります。
やり方はご承知でしょうか。

投稿2019/03/05 07:19

kazto

総合スコア7196

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

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

pypypy.bom

2019/03/05 07:24

pathの追加の仕方については大丈夫です。 hellow worldができた場合でもpathが通っていない可能性があるのでしょうか?
kazto

2019/03/05 07:33 編集

おそらくPATHは通っていなくて、その一方で、 > python -u "c:\Python\code\number_sample_test.py" が実行できていることから、上記を実行したのはpython.exeがあるフォルダに移動した上で実行している、と推測しますが、あってますでしょうか。
pypypy.bom

2019/03/05 07:43

おそらく間違いなさそうです、 c:\Python\codeまでのパスが通ってないということでお間違いなさそうでしょうか?
kazto

2019/03/05 08:11

3.7で動かしたいのであれば、「C:\Python\Python37」に通す、ですね。
pypypy.bom

2019/03/05 09:20

度々申し訳ありません。 やはり、システム詳細設定→環境変数→path→で確認したところ既にC:\Python\Python37にpathは通っているように思われるのですが、vscodeの設定に問題がある可能性が高そうでしょうか? ちなみにvscodeの画面左下にPython3.7.2 64bit と記載がありそこにカーソルを合わせると複数のPythonから、選択できるような状態になっています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問