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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1203閲覧

openCV独自のコマンドが効かない

H.Shing

総合スコア2

OpenCV

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/09/14 05:22

編集2021/09/14 05:55

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
(例)PythonのopenCVで人の顔を認証するAI機能を作っています。
機能を実装中に以下のエラーメッセージが発生しました。

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

Traceback (most recent call last): facerect = cascade.detectMultiScale(frame, scaleFactor=1.2, minNeighbors=2, minSize=(10, 10)) cv2.error: OpenCV(4.5.3) /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-req-build-vy_omupv/opencv/modules/objdetect/src/cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'detectMultiScale'

該当のソースコード

python

1 2import cv2 3from cv2 import CascadeClassifier 4from numpy import double 5 6if __name__ == "__main__": 7 8 9 cap = cv2.VideoCapture(0) 10 11 12 cascade_path = "./cascade/trained_data/cascade.xml" 13 cascade = cv2.CascadeClassifier(cascade_path) 14 15 cv2.CascadeClassifier 16 face_cascade = cv2.CascadeClassifier( 17 "/home/opencv/opencv-3.4.4/data/haarcascades/haarcascade_frontalface_default.xml") 18 19 color = (255, 255, 255) 20 21 while True: 22 23 ret, frame = cap.read() 24 25 frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 26 27 facerect = cascade.detectMultiScale(frame, scaleFactor=1.2, minNeighbors=2, minSize=(10, 10)) 28 29 if len(facerect) > 0: 30 for rect in facerect: 31 cv2.rectangle(frame, tuple(rect[0:2]), tuple(rect[0:2] + rect[2:4]), color, 2) 32 33 cv2.imshow("frame", frame) 34 35 if cv2.waitKey(1) & 0xFF == ord('q'): 36 break 37 38 cap.release() 39 cv2.destroyAllWindows()
Python openCV

試したこと

いろいろ調べたところ、openCVのバージョンが原因だとわかり、バージョン3のもっとも古いものをインストールして確かめたところ同じエラーが出て解決しませんでした。
追記:以下の情報で
https://stackoverflow.com/questions/30508922/error-215-empty-in-function-detectmultiscale)
xml拡張子のロケーションを記載する必要があるとわかりました。

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

Python openCV 4.5.3
IntelliJ Idea Pycharm

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

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

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

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

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

yuki23

2021/09/14 05:26

問題の発生するソースコードを提示してください
H.Shing

2021/09/14 05:44

失礼しました。よろしくお願いいたします。
jbpb0

2021/09/14 05:49

pythonのコードの一番最初の行のすぐ上に ```python だけの行を追加してください また、pythonのコードの一番最後の行のすぐ下に ``` だけの行を追加してください 現状、コードがとても読み辛いです 質問にコードを載せる際に上記をやってくれたら、他人がコードを読みやすくなり、コードの実行による現象確認もやりやすくなるので、回答されやすくなります
H.Shing

2021/09/14 05:51

ご指摘ありがとうございます。ただいま更新します。また、次回以降はそのようにさせていただきます。
guest

回答1

0

ベストアンサー

cascade = cv2.CascadeClassifier(cascade_path)

ここでファイルからの構築に失敗しているのでは.

face_cascade の存在意義が謎ですが,何かを取り違えていたりしませんか?)

投稿2021/09/14 06:03

fana

総合スコア11996

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問