在Windows 7 64位,AMD处理器上,我安装了OpenVC 2.4.5,带有Eclipse CD Juno和MinGW,一切都是最新的更新。 以前蚀食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)。单击”确定“closures应用程序。
什么可能是错的,什么是解决这个问题?
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
经过许多试验和错误,我决定按照这个教程来编译我自己的二进制文件,因为似乎有太多的人抱怨预编译的二进制文件不适合他们。 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创建一个窗口,也没有将imread输出分配给img2。