简体   繁体   中英

Program won't start when using OpenCV in C++ to stream video from camera

right, I have a USB camera connected to the PC and I want to use OpenCV to stream images from it. Here is my code:

#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");
}

The problem is that when I start the program I get this pop-up error: "The application was unable to start correctly (0xc0150002). Click OK to close the application". I have made sure I have included all the correct libraries, header files and ddl's so I'm really not sure whats wrong with it.

Any help to solve this problem will be greatly appreciated.

I suggest you to try this way of dealing with cameras, using the 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;
}

If this fails, the you will know for sure that the problem is with your camera. Maybe the drivers. Good luck.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM