我最近安装了 OpenCV 2.4.7 并将其配置到我的 Visual Studio 2010 Ultimate ide...我什至测试了一个代码来显示图像...
#include "opencv2/highgui/highgui.hpp"
#include "iostream"
using namespace cv;
using namespace std;
int main()
{
Mat im = imread("d:/lena.jpg");
if (im.empty())
{
cout << "Cannot load image!" << endl;
return -1;
}
imshow("Image", im);
waitKey(0);
}
它可以工作,但是当我尝试使用这里给出的视频捕获代码时,它给出了一个错误..
#include "opencv2/opencv.hpp"
using namespace cv;
int main(int, char**)
{
VideoCapture cap(0); // open the default camera
if(!cap.isOpened()) // check if we succeeded
return -1;
Mat edges;
namedWindow("edges",1);
for(;;)
{
Mat frame;
cap >> frame; // get a new frame from camera
cvtColor(frame, edges, CV_BGR2GRAY);
GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
Canny(edges, edges, 0, 30, 3);
imshow("edges", edges);
if(waitKey(30) >= 0) break;
}
// the camera will be deinitialized automatically in VideoCapture destructor
return 0;
}
myNewOpenCv1.exe 中 0x75dc812f 处未处理的异常:Microsoft C++ 异常:内存位置 0x0019f6d8 处的 cv::Exception
不知道是不是安装的问题。我对 OpenCV 很陌生,并且不太了解,所以如果任何习惯于此的人都可以为我解决此错误,并解释为什么会发生这种情况,并且对此提供指导会很棒。
希望等待你的答案 - 乔纳森 -