-3
我正在訓練出tutorial in opencv。Opencv:沒有錯誤的代碼,但攝像頭沒有在結果中顯示
編譯時沒有錯誤。
我知道本教程的代碼是針對opencv2.4的,我已經更改了cvquery和videoframe的編碼。
我的輸出是這樣的
。
我的攝像頭工作正常,但沒有顯示任何結果。
我正在訓練出tutorial in opencv。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;
}
因爲我不知道你對OpenCV示例代碼做了什麼修改,所以我不能指出你可能做錯了什麼。嘗試處理我的代碼,看看你是否得到了結果 –
的陳述「這是我的代碼」和「我不得不改變編碼」似乎相互矛盾。 –
對不起,起初我打算附上我的代碼,但它一直出現錯誤。感謝告知我矛盾的消息。我真的想要解決這個問題 –
如果你直接在這裏附加問題,把它放在[pastebin](http://pastebin.com/)或類似的網站,並添加一個鏈接。 –