私は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 X 240が、空白の画面上:
以下は私のコードです。
コードは、私は私のボード上のAVerMediaのゴールドカメラカードを使用していたコードCvCapture* capture = cvCaptureFromCAM(1);
付きのUSBウェブカメラのために正常に動作しています。だから私はこのカメラを使用するSDKが必要ですか、またはCCDカメラを使用する任意のオプションはありますか?
ドライバが正しくインストールされ、EzCaptureVCアプリケーションで確認してください。
karlphillipに感謝します。私はカメラの互換性リストをチェックし、私のカメラはそのリストにありません。だから、私はopencv 2.3.1を使用するつもりです。私は私の結果を教えてくれます。しかし前に直面した結果に関するいくつかの情報を追加しましょう。質問で指定された私の現在のコードは、別のカメラキャプチャカードで数日前に正常に動作していました。私は高機能のカメラキャプチャカードを変更し、私はカメラからのフィードを失った。 – user934179
これは問題が** camera&opencv **であり、あなたのコードとopencvではないことを確認します。 – karlphillip
ビデオキャプチャのモードを変更しました。私はvideoInputを使用してカメラからキャプチャしようとしていますが、動作しています...しかし、私はvideoInputのビデオサイズを変更できません。それは320X280のデフォルトサイズで表示されていますそして私は640X480サイズでそれが必要です。どのような助け??????? – user934179