OpenCV cvCaptureFromCAM возвращает нольC++

Программы на C++. Форум разработчиков
Anonymous
OpenCV cvCaptureFromCAM возвращает ноль

Сообщение Anonymous »

На моем ноутбуке установлен OpenCV 2.1, и я пытаюсь реализовать программу распознавания лиц. Я использую Logitech C210 для своего проекта. Я знаю, что с камерой все в порядке, потому что программное обеспечение обнаруживает и отображает ее, а запуск facedetect.exe в каталоге образцов показывает, что камера работает. Но почему-то при использовании исходного кода faceetect.cpp в моем VS2010 Ultimate я даже не смог заставить работать cvCaptureFromCAM! Вот мой код:

Код: Выделить всё

#include "stdafx.h"
#include 
#include "cv.h"
#include "highgui.h"

using namespace std;
using namespace cv;

int main(int, char**) {
IplImage* frame;
// CvCapture* cap = cvCaptureFromCAM(-1);
//  cvNamedWindow( "Example2_9", CV_WINDOW_AUTOSIZE );
CvCapture* capture;
cvWaitKey(20);
capture = cvCreateCameraCapture( -1 ); //yes, if 0 doesn't work try with -1
//assert( capture != NULL );

for(;;) {
frame = cvQueryFrame(capture);

if(frame == NULL)
return -1;

imshow("cap", frame);
if(waitKey(30) >= 0)
break;
}

}
Хорошо, это не настоящий код facedetect (он слишком длинный), но он подчеркивает проблему, которая, по его мнению, здесь:
Используя точки останова, я обнаружил, что после cvCaptureFromCAM захватывается значение 0x000000. Этого не должно случиться, не так ли? Может кто-нибудь сказать мне, что происходит?

Подробнее здесь: https://stackoverflow.com/questions/674 ... turns-zero

Вернуться в «C++»