現在、oepncvにてパッケージに含まれるカスケードを利用して顔認識プログラム
を作成しています。
C++
1#include<iostream> 2#include<opencv2/opencv.hpp> 3#include<vector> 4 5using namespace std; 6using namespace cv; 7 8int main(){ 9 VideoCapture cap(0); 10 Mat src, star(imread("eye.cpp")),star_r; 11 CascadeClassifier face("haarcascade_frontalface_alt2.xml"); 12 CascadeClassifier eye("haarcascade_eye.xml"); 13 14 while(1){ 15 cap >> src; 16 vector<Rect> faceLoc, eyeLoc; 17 18 face.detectMultiScale(src,faceLoc,1.1,5,0,Size(100,100)); 19 for(int i = 0; i < faceLoc.size(); i++) 20 rectangle(src,faceLoc[i],255,4); 21 eye.detectMultiScale(src,eyeLoc,1.1,20,0,Size(30,30),Size(100,100)); 22 for(int i = 0; i < eyeLoc.size();i++){ 23 resize(star,star_r,eyeLoc[i].size()); 24 star_r.copyTo(src(eyeLoc[i])); 25 } 26 imshow("HaarLike検出",src); 27 if(waitKey(20)==27) break; 28 } 29}
#環境
virtualboxで実行
ホストOS MacOS Mojave
ゲストOS Lubuntu 18.04
エディター virtual studio code
コンパイル LXTerminal g++ opencv-3.3.0
#発生したエラー(ユーザー名はryouta)
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /home/ryouta/opencv-3.3.0/modules/highgui/src/window.cpp, line 325
terminate called after throwing an instance of 'cv::Exception'
what(): /home/ryouta/opencv-3.3.0/modules/highgui/src/window.cpp:325: error: (-215) size.width>0 && size.height>0 in function imshow
中止 (コアダンプ)
顔を検出して目の部分に画像を貼り付けるプログラムです。
解説書からのコードですので、コードエラーでは無いと思います。
カスケードファイルも同じディレクトリに格納してあります。
調べても解決法が見つからなかったので質問させていただきます。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/07/23 02:06