Я использую OpenCV 2.1 и Visual Studio 2008 в Windows. Я пытаюсь захватить кадры с камеры CCD и хочу отображать в Windows. Камера имеет формат PAL. Камера обнаруживает, но показывает пустой серый экран.opencv - cvCaptureFromCAM (CV_CAP_DSHOW) захват пустой кадр
Я нашел много сообщений, связанных с пустым экраном, но никто не работает в моем случае. Поэтому я публикую этот вопрос.
Ниже мой код:
#include "stdafx.h"
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
#include <iostream>
int main(int argc, char* argv[])
{
cvNamedWindow("mywindow", CV_WINDOW_AUTOSIZE);
CvCapture* capture = cvCaptureFromCAM(CV_CAP_DSHOW);
if (!capture) {
fprintf(stderr, "ERROR: capture is NULL \n");
getchar();
return -1;
}
while (1) {
IplImage* frame = cvQueryFrame(capture);
if (!frame) {
fprintf(stderr, "ERROR: frame is null...\n");
getchar();
break;
}
else
{
fprintf(stderr, "Size of camera frame %d X %d\n",frame->width,frame->height);
}
cvShowImage("mywindow", frame);
if ((cvWaitKey(10) & 255) == 27) break;
}
// Release the capture device housekeeping
cvReleaseCapture(&capture);
cvDestroyWindow("mywindow");
return 0;
}
Над кодом возврата размер кадра 320 X 240, но пустой экран.
код работает отлично для USB веб-камера с кодом CvCapture* capture = cvCaptureFromCAM(1);
Я использую AVerMedia Gold Camera Card на моей доске. Итак, нужен ли мне SDK для использования этой камеры или есть ли возможность использовать CCD-камеру?
Драйвер установлен правильно и проверяется с помощью приложения EzCaptureVC.
Спасибо за быстрый ответ karlphillip. Я проверяю список совместимости с камерой, и моя камера не входит в этот список. Поэтому я буду использовать opensv 2.3.1, и я дам нам знать мой результат с этим. Но позвольте мне добавить дополнительную информацию о результате, с которым я столкнулся раньше. Мой текущий код, указанный в вопросе, работал отлично до нескольких дней с другой картой захвата камеры. Я меняю карту захвата камеры на более высокую функцию, и я потерял канал с камеры. – user934179
Итак, это подтверждает, что проблема связана с ** камерой и opencv **, а не с кодом и opencv. – karlphillip
Теперь я меняю режим захвата видео. Я пытаюсь использовать videoInput для захвата с камеры и работает ... НО возникла одна проблема: я не могу изменить размер видео в videoInput. Он отображается в размере 320X280 по умолчанию, и мне это нужно в размере 640X480. Любая помощь ??????? – user934179