我正在训练opencv 中的教程。
编译时没有错误。
我知道本教程的代码是针对 opencv2.4 的,并且我已经更改了 cvquery 和 videoframe 的编码。
我的输出是这样的
.
我的网络摄像头工作正常,但在我的结果中没有显示任何内容。
我正在训练opencv 中的教程。
编译时没有错误。
我知道本教程的代码是针对 opencv2.4 的,并且我已经更改了 cvquery 和 videoframe 的编码。
我的输出是这样的
.
我的网络摄像头工作正常,但在我的结果中没有显示任何内容。
如果您希望使用 HaarCascades 执行人脸检测,可以使用以下代码:
#include <opencv2/objdetect/objdetect.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
#include <stdio.h>
using namespace std;
using namespace cv;
CascadeClassifier facecascade;
int main()
{
Mat frame;
facecascade.load("haarcascade_frontalface_alt.xml");
if(facecascade.empty())
{
cout<<"Error";
}
VideoCapture cap(0);
int i=0,j=0,k=0;
while(1)
{
cap>>frame;
Mat frame_gray;
cvtColor(frame,frame_gray,CV_BGR2GRAY);
vector<Rect>faces;
facecascade.detectMultiScale(frame_gray,faces,1.1,2,0|CV_HAAR_SCALE_IMAGE,Size(70,70));
if(faces.size()>0)
{
for(i=0;i<faces.size();i++)
{
rectangle(frame_gray,faces[i],Scalar(200,200,250),2,8,0);
}
char no[5];
sprintf(no,"No. of faces detected = %d",int(faces.size()));
putText(frame_gray,no,Point(10,30),FONT_HERSHEY_TRIPLEX,1,Scalar(255,255,255),1);
imshow("out",frame_gray);
char c= waitKey(5);
if(c=='b')
break;
}
return 0;
}