4

そうです、PC に接続された USB カメラがあり、OpenCV を使用してそこから画像をストリーミングしたいと考えています。これが私のコードです:

#include <cv.h>
#include <highgui.h>
#include <stdio.h>

int main()
{

    CvCapture* cameraCapture = cvCaptureFromCAM(CV_CAP_ANY);
    cvNamedWindow("Camera");

    while(1)
    {
        IplImage* frame = cvQueryFrame(cameraCapture);
        cvShowImage("Camera", frame);
        if((cvWaitKey(10) & 255) == 27)
            break;
    }

    cvReleaseCapture(&cameraCapture);
    cvDestroyWindow("Camera");
}

問題は、プログラムを起動すると、「アプリケーションを正しく起動できませんでした (0xc0150002)。[OK] をクリックしてアプリケーションを閉じます」というポップアップ エラーが表示されることです。すべての正しいライブラリ、ヘッダー ファイル、および ddl が含まれていることを確認したので、何が問題なのか本当にわかりません。

この問題を解決するための助けをいただければ幸いです。

4

1 に答える 1

4

OpenCV 2.3.1を使用して、この方法でカメラを処理することをお勧めします。

VideoCapture _videoSource;
bool camera = 1;

if(camera)
{
   if(!_videoSource.open(0))                // Try to start camera. 0 = default camera
   {                                    
    cout << "Error opening camera" << endl; // here you control why the error happens
    exit(1);                // Exit if fail         
   }
}
else
{
   if(!_videoSource.open(Path+"video.avi")) 
   {
        cout << "Error opening file" << endl;
        exit(2);                        // Exit if fail
   }
}
_videoSource.set(CV_CAP_PROP_CONVERT_RGB, 1);

Mat frame;
namedWindow("Image");

while(1) 
{
  _videoSource >> frame; 
  imshow("output", frame);
  return 0;
}

これが失敗した場合は、問題がカメラにあることが確実にわかります。多分ドライバー。幸運を。

于 2012-05-30T07:31:23.460 に答える