0
我在Windows中使用OpenCV 2.1和Visual Studio 2008。我試圖抓住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×240,但空白屏幕。
代碼工作正常的USB攝像頭,帶有代碼CvCapture* capture = cvCaptureFromCAM(1);
我在我的船上使用圓剛金卡片相機。那麼我是否需要使用SDK來使用本相機,或者是否有使用CCD相機的選項?
驅動程序安裝正確,並檢查EzCaptureVC應用程序。
感謝您快速回復karlphillip。我檢查相機兼容性列表,我的相機不在該列表中。所以我打算使用opencv 2.3.1,我會讓我們知道我的結果,但讓我添加一些關於我之前遇到的結果的更多信息。我使用不同的攝像頭捕捉卡前,我目前指定的代碼工作正常。我更換相機採集卡以獲得更高的功能,並且我丟失了相機的供稿。 – user934179
好吧,以確認問題是**相機和opencv **,而不是您的代碼和opencv。 – karlphillip
現在我改變視頻捕捉模式。我嘗試使用videoInput捕捉相機,它正在工作...但出現一個問題是,我無法更改videoInput中的視頻大小。它顯示在320X280默認大小我需要它在640X480大小。任何幫助??????? – user934179