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

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

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

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

解決済

OpenCV カメラ映像 顔認識 cvterrorを解消できない

yumiwo
yumiwo

総合スコア5

OpenCV

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

2回答

0評価

0クリップ

7282閲覧

投稿2020/05/06 17:15

編集2020/05/06 17:24

#OpenCVを使って顔認識のデモをカメラ映像で作りたい
プログラム初心者です。Raspberry PiとRaspiカメラv2を使用して顔認識のデモを作りたいと思い、コードを打ち込んでみたのですが、突破できないエラーに遭遇したので、なにかご存知の方に知恵をお借りしたいです。

`
エラーメッセージ
[ WARN:0] global /home/pi/opencv/modules/videoio/src/cap_gstreamer.cpp (1759) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module v4l2src0 reported: Failed to allocate required memory.
[ WARN:0] global /home/pi/opencv/modules/videoio/src/cap_gstreamer.cpp (888) open OpenCV | GStreamer warning: unable to start pipeline
[ WARN:0] global /home/pi/opencv/modules/videoio/src/cap_gstreamer.cpp (480) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
[ WARN:0] global /home/pi/opencv/modules/videoio/src/cap_v4l.cpp (893) open VIDEOIO(V4L2:/dev/video0): can't open camera by index
Traceback (most recent call last):
File "face_demo.py", line 23, in <module>
igray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.3.0-dev) /home/pi/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'

該当のソースコード

python3

import cv2 # 以下のカスケードファイルは実行するpythonファイルと同じディレクトリに移動しておく cascade = cv2.CascadeClassifier("haarcascade_frontalface_alt.xml") # カメラモジュールから入力を開始 capture = cv2.VideoCapture(0) # 検出時のサイズを指定 MIN_SIZE = (150, 150) # while文で処理を指定 while True: # 「ESC」を押したら処理を止める、waitKey()はキーボード入力を処理する関数で、引数は入力を待つ時間を指定 if cv2.waitKey(1) & 0xFF == 27: break # カメラ画像を読み込む _, image = capture.read() # raspiのカメラだと反転しているので修正 image = cv2.flip(image, -1) # OpenCVでグレースケール化、計算処理を高速化するため igray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 顔検出を行う部分 faces = cascade.detectMultiScale(igray, minSize=MIN_SIZE) # 顔検出時以外もフレームを表示させておく if len(faces) == 0: cv2.imshow('frame', image) continue for (x, y, w, h) in faces: color = (255, 0, 0) cv2.rectangle(image, (x, y), (x+w, y+h), color, thickness=8) # 顔が検出されたら顔の周りに枠を表示してフレームを表示、引数にはウィンドウ名と表示する画像を指定、ループが高速に動作するので画像が連続で表示され映像のように映る cv2.imshow('frame', image) # 顔を検出したらターミナルに「face」と表示 print("face") capture.release() # カメラを解放 cv2.destroyAllWindows() # ウィンドウを破棄

補足情報

OpenCVのバージョンは4.3.0-devです。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

OpenCV

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。