前提・実現したいこと
プログラミング初心者です。「PythonによるAI・機械学習・深層学習アプリのつくり方」を参考に、抽出したはがき郵便番号の数字画像判定システムを作成しています。しかし以下のエラーが発生しました。
発生している問題・エラーメッセージ
error Traceback (most recent call last)
<ipython-input-14-4a69b52458cc> in <module>
15 h -= 16
16 im2 = img[y:y+h, x:x+w]
---> 17 im2gray = cv2.cvtColor(im2, cv2.COLOR_BGR2RGB)
18 im2gray = cv2.resize(im2gray, (8, 8))
19 im2gray = 15 - im2gray // 16
error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-9d_dfo3_\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
該当のソースコード
from detect2_zip import *
import matplotlib.pyplot as plt
import joblib
clf = joblib.load("digits2.pkl")
cnts, img = detect_zipno("hagaki2.png")
for i, pt in enumerate(cnts):
x, y, w, h = pt
x += 8
y += 8
w -= 16
h -= 16
im2 = img[y:y+h, x:x+w]
im2gray = cv2.cvtColor(im2, cv2.COLOR_BGR2RGB)
im2gray = cv2.resize(im2gray, (8, 8))
im2gray = 15 - im2gray // 16
im2gray = im2gray.reshape((-1, 64))
res = clf.predict(im2gray)
plt.subplot(1, 7, i + 1)
plt.imshow(im2)
plt.axis("off")
plt.title(res)
plt.show()
試したこと
opencvを再インストールしたりAnacondaのバージョンを変更したりしましたが、解決の糸口は見えませんでした。
補足情報(FW/ツールのバージョンなど)
opnecvバージョン:4.4.0.44
pythonバージョン:3.8.3
jupyterNoteBookバージョン:6.0.3
回答1件
あなたの回答
tips
プレビュー