0

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 アプリケーションで確認します。

4

1 に答える 1

2

OpenCV はお使いのカメラをサポートする必要があります。それ以外の場合、動作する保証はありません:互換性リストを確認してください。

また、2.1は非常に時代遅れです。この分野でいくつかの改善があったので、2.3.1 でもう一度試すことをお勧めします。

于 2012-05-03T19:56:16.937 に答える