Windows で OpenCV 2.1 と Visual Studio 2008 を使用しています。CCD カメラからフレームを取得しようとしていて、Windows で表示したいと考えています。カメラはPAL形式です。カメラは検出していますが、空白の灰色の画面が表示されます。
空白の画面に関連する多くの投稿を見つけましたが、私の場合は誰も働いていません。だから投稿私はこの質問を投稿します。
以下は私のコードです:
#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 Webカメラでコードが正常に機能していますCvCapture* capture = cvCaptureFromCAM(1);
ボードで Avermedia Gold Camera Card を使用しています。このカメラを使用するにはSDKが必要ですか、それともCCDカメラを使用するオプションはありますか??
ドライバーが正しくインストールされ、EzCaptureVC アプリケーションで確認します。