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

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

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

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

VMware

VMwareとは、 ハードウェアで動作するOS上で仮想マシンを作成、実行するソフトウェアです。 Windows上でUNIX系OSを動作させたり、他のOS上で別の仮想OSを動作することが可能です。

Python

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

Q&A

1回答

1080閲覧

ROSでOpenCVによる顔認識を行いたいがタイムアウト等のエラーが出ているこれを解決したい

wing

総合スコア20

OpenCV

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

VMware

VMwareとは、 ハードウェアで動作するOS上で仮想マシンを作成、実行するソフトウェアです。 Windows上でUNIX系OSを動作させたり、他のOS上で別の仮想OSを動作することが可能です。

Python

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

0グッド

0クリップ

投稿2020/11/10 07:46

前提・実現したいこと

ROSでOpenCVを用いて、顔認識をしたいと考えています。プログラムを実行する際に以下のようなエラーが発生しています。

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

タイムアウトを選択 タイムアウトを選択 OpenCVエラー:マット、ファイル/tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/core/include/opencv2/core/matでアサーションが失敗しました(total()== 0 || data!= __null)。 inl.hpp、500行目 トレースバック(最後の最後の呼び出し): <module>内のファイル "face_detect.py"、34行目 end_flag、c_frame = cap.read() cv2.error:/tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/core/include/opencv2/core/mat.inl.hpp:500:エラー:(-215)total()== 0 | | データ!=関数Matの__null

該当のソースコード

python

1#!/usr/bin/env pyhon 2# -*- coding: utf-8 -*- 3import cv2 4#import rospy 5#import numpy as np 6#from sensor_msgs.msg import Image, CameraInfo 7#from cv_bridge import CvBridge, CvBridgeError 8#class faceExtract(object): 9 # def __init__(self): 10 # self._image_pub = rospy.Publisher('masked_image', Image, queue_size = 1) 11 # self._image_sub = rospy.Subscriber('/usb_cam/image_raw', Image, self.callback) 12 # self._bridge = CvBridge() 13 14 15if __name__ == '__main__': 16 # 定数定義 17 ESC_KEY = 27 # Escキー 18 INTERVAL= 33 # 待ち時間 19 FRAME_RATE = 30 # fps 20 21 ORG_WINDOW_NAME = "org" 22 GAUSSIAN_WINDOW_NAME = "gaussian" 23 24 DEVICE_ID = 0 25 26 # 分類器の指定 27 cascades_file ="haarcascade_frontalface_alt2.xml" 28 cascade = cv2.CascadeClassifier(cascades_file) 29 30 # カメラ映像取得 31 cap = cv2.VideoCapture(DEVICE_ID) 32 33 # 初期フレームの読込 34 end_flag, c_frame = cap.read() 35 height, width, channels = c_frame.shape 36 37 # ウィンドウの準備 38 cv2.namedWindow(ORG_WINDOW_NAME) 39 cv2.namedWindow(GAUSSIAN_WINDOW_NAME) 40 41 # 変換処理ループ 42 while end_flag == True: 43 44 # 画像の取得と顔の検出 45 img = c_frame 46 47 # 画像サイズの指定 48 cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH,100) 49 cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT,100) 50 51 img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 52 face_list = cascade.detectMultiScale(img_gray, minSize=(100, 100)) 53 54 # 検出した顔に印を付ける 55 for (x, y, w, h) in face_list: 56 color = (0, 0, 225) 57 pen_w = 3 58 cv2.rectangle(img_gray, (x, y), (x+w, y+h), color, thickness = pen_w) 59 60 # フレーム表示 61 cv2.imshow(ORG_WINDOW_NAME, c_frame) 62 cv2.imshow(GAUSSIAN_WINDOW_NAME, img_gray) 63 64 # Escキーで終了 65 key = cv2.waitKey(INTERVAL) 66 if key == ESC_KEY: 67 break 68 69 # 次のフレーム読み込み 70 end_flag, c_frame = cap.read() 71 72 # 終了処理 73 cv2.destroyAllWindows() 74 cap.release()

試したこと

様々なサイトを調べ、自分なりに、ソースコードや画像のサイズの変更を行った。
(載せてあるソースはサイトから引用したものオリジナル)

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

使用するWindowsのpc上にVMwareを用いて仮想OSを作成
仮想OSはUbuntu16.04
ROSはKinetic
webカメラはUVC対応

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

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

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

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

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

guest

回答1

0

こちらの方も仮想マシン上のカメラでコケて困っているようです。仮想マシン側の設定でしのげそうな感じもします。

恐らく走らせるときに気付くかもしれませんが…

Python3

1 # 画像サイズの指定 2 # cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH,100) 3 # cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT,100) 4 5 #多分これが正解 6 cv2.SetCaptureProperty(capture,cv2.CAP_PROP_FRAME_WIDTH,100) 7 cv2.SetCaptureProperty(capture,cv2.CAP_PROP_FRAME_HEIGHT,100)

投稿2021/03/19 19:57

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問