在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
经过多次试验和错误后,我决定关注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已经阅读过了。
你能试试这段代码吗?
#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输出。