OpenCV 2.3.0 を使用して顔検出ソフトウェアを作成しようとしています。OpenCV 2.4 には顔認識クラスがありますが、2.3.0 にはこの機能がありません。ドキュメントを確認したところ、detectMultiScale 関数に次の宣言があることが指定されています
void CascadeClassifier::detectMultiScale(const Mat& image, vector<Rect>& objects, double
scaleFactor=1.1, int minNeighbors=3, int flags=0, Size minSize=Size())
今、私はカメラ フィードである画像を提供していますが、ベクトル ブロックに何を入力すればよいかわかりません。これが私が書いたコードです。
#include "cv.h"
#include "highgui.h"
#include <stdio.h>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
std::vector<Rect> faces;
VideoCapture cap(0);
if(!cap.isOpened())
cout<<"Camera is not connected"<<endl;
cv::CascadeClassifier* cascade=0;
if(cascade.empty())
return -1;
Mat edges;
namedWindow("Camera Feed",1);
for(;;)
{
Mat frame;
cap >> frame;
imshow("Camera Feed", frame);
if(waitKey(10)==27)
break;
cascade.detectMultiScale(frame,faces);
}
return 0;
}
質問: 先に進むにはどうすればよいですか?