前提・実現したいこと
こんにちは。初めて質問をさせていただきます。読みにくい場所多々あると思いますがご了承ください。
初めてPythonを用いてプログラムを組んでいるので、とても初歩的なミスかもしれませんが、Python3.7でこちら(pythonで赤い物体を認識しよう)のサイトを参考に赤色のものを認識するプログラムを作っているのですが、どの場所で画像を読み込めばいいのかわかりません。自分なりに考え読み込ませてもエラーが発生してしまいます。どうか解決方法を教えてください。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "C:\Users\user\source\repos\PythonApplication1\PythonApplication1\PythonApplication1.py", line 20, in <module> find_rect_of_target_color(image) File "C:\Users\hokah\user\repos\PythonApplication1\PythonApplication1\PythonApplication1.py", line 11, in find_rect_of_target_color contours, _ = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) ValueError: too many values to unpack (expected 2)
該当のソースコード
Python
1import cv2 2import numpy as np 3 4 5def find_rect_of_target_color(image): 6 hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV_FULL) 7 h = hsv[:, :, 0] 8 s = hsv[:, :, 1] 9 mask = np.zeros(h.shape, dtype=np.uint8) 10 mask[((h < 20) | (h > 200)) & (s > 128)] = 255 11 contours, _ = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) 12 rects = [] 13 for contour in contours: 14 approx = cv2.convexHull(contour) 15 rect = cv2.boundingRect(approx) 16 rects.append(np.array(rect)) 17 return rects 18 19image=cv2.imread('D:\image\a.png',1) 20find_rect_of_target_color(image) 21cv2.imshow('image',image)
試したこと
imageに画像ファイルを読み込んでからfind_rect_of_target_color(image)を書き、その後に画像の出力を試みた
補足情報(FW/ツールのバージョンなど)
Python3.7
opencv-python(3.4.3.18)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。