質問: cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=1, minSize=(1, 1)) if len(facerect) > 0: # 検出した顔を囲む矩形の作成 for rect in facerect: cv2.rectangle(image, tuple(rect[0:2]),tuple(rect[0:2]+rect[2:4]), color, thickness=2) else: print("no face") # 認識結果の表示 cv2.imshow("detected.jpg", image) # 何かキーが押されたら終了 ``` ### 試したこと 他の顔が映っている画像なども試したのですがダメでした。 ### 補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報
回答: エラーメッセージによれば、`cv2.cvtColor`に渡している`image`のチャネル数が3または4のいずれでもないと言っています。 `cv2.imread`直後に`cv2.imshow("loaded", image)`等で確認してみては。(単なる推測ですが、パス指定が適切でなくファイルを読み込めていないような気がします。)