在Windows 7 64位,AMD处理器上,我安装了OpenCV 2.4.5,使用eclipse CDT Juno和MinGW,所有内容都进行了最新更新。以前eclipse CDT和MinGW编译了100多个源文件而没有任何问题。他们甚至编译这个小的OpenCV源文件,
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
int main()
{
IplImage* img1 = cvLoadImage("lenna.png");
cvShowImage("MyWindow1", img1);
cv::Mat img2;
img2 = cv::imread("lenna.png", CV_LOAD_IMAGE_COLOR);
cv::namedWindow("MyWindow2", CV_WINDOW_AUTOSIZE);
cv::imshow("MyWindow2", img2);
cvWaitKey(0);
return 0;
}
但是当我尝试运行它然后它与臭名昭着的
打破“应用程序无法正确启动(0xc0000005)。单击”确定“ 关闭申请。“
可能出现什么问题以及解决这个问题的方法是什么?
opencv_calib3d245 opencv_contrib245 opencv_core245 opencv_features2d245 opencv_flann245 opencv_gpu245 opencv_highgui245 opencv_imgproc245 opencv_legacy245 opencv_ml245 opencv_nonfree245 opencv_objdetect245 opencv_photo245 opencv_stitching245 opencv_video245 opencv_videostab245
答案 0 :(得分:6)
经过多次试验和错误后,我决定关注this教程并编译自己的二进制文件,因为似乎有太多人抱怨预编译的二进制文件不适用于它们。已经安装了Eclipse CDT Juno。
我的程序如下:
您可以使用此代码测试您的设置:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
Mat img = imread("c:/lenna.png", CV_LOAD_IMAGE_COLOR);
namedWindow("MyWindow", CV_WINDOW_AUTOSIZE);
imshow("MyWindow", img);
waitKey(0);
return 0;
}
不要忘记把图像放到C:/(或者你可能找到合适的地方,只要确保eclipse已经阅读过了。
答案 1 :(得分:1)
你能试试这段代码吗,
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
Mat img = imread("lenna.png", CV_LOAD_IMAGE_COLOR);
namedWindow("MyWindow", CV_WINDOW_AUTOSIZE);
imshow("MyWindow", img);
waitKey(0);
return 0;
}
因为您似乎没有为img1创建窗口,也没有为img2分配imread输出。