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

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

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

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

Q&A

解決済

2回答

228閲覧

PythonでOpenCVを使用した際のcvtColorのエラー

cmgoom

総合スコア1

OpenCV

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

0グッド

0クリップ

投稿2024/12/25 01:43

画像処理についての勉強を始めたばかりで,PythonにてOpenCVを利用してカメラキャプチャから顔認識を行うプログラムを作成したいのですがコードを実装するとcv::cvtColorのエラーが出てしまいます.自身でも調べてみて画像のグレー化処理のみでも同じエラーが発生するのでおそらくキャプチャの問題なのかなと思いますが,このエラーの解決方法が見つからず苦戦しているため質問させていただきます.

開発環境
Windows11
Opencv4.10.0
Python3.13
VisualStudio Community2022

エラー文

cv2.error: OpenCV(4.10.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:196: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

コード

import cv2 face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') cap = cv2.VideoCapture(0) while True: ret, img = cap.read() gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=3, minSize=(20,20)) for (x, y, w, h) in faces : cv2.rectangle(img,(x,y), (x+w, y+h), (255, 255, 0), 3 ) cv2.imshow('Face Detection', img) if cv2.waitKey(1) & 0xFF == ord('q'): break; cap.release() cv2.destroyAllWindows()

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

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

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

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

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

melian

2024/12/25 09:55

エラーメッセージには以下の様に表示されていますので、 error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor' cap.read() の戻り値(img)が空なのだと思います。(キャプチャに失敗) cap = cv2.VideoCapture(0) while True:   ret, img = cap.read()   gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cmgoom

2024/12/25 16:08

コメントありがとうございます.print関数でimg値とret値を調べたところNoneとFalseでかえってきたためおっしゃる通り原因はキャプチャの失敗のようです. Pathなども見返していますがいまだ解決に至っていません...
guest

回答2

0

whileのループ条件をcap.isOpenedに変更したら問題なく動作しました.

投稿2025/01/01 06:33

cmgoom

総合スコア1

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

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

0

ベストアンサー

ドキュメントによると、現状でサポートされているpythonのバージョンは 3.12までのようですので、pythonを それ以下にして試してみてはいかがでしょうか。

https://pypi.org/project/opencv-python/#supported-python-versions

投稿2024/12/25 02:41

TakaiY

総合スコア13907

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

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

cmgoom

2024/12/25 09:36

回答ありがとうございます!pythonのバージョン3.11についても試してみましたが同様のエラーが出てしまいい,ダメでした引き続き原因を究明をおこなっています.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.34%

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

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

質問する

関連した質問