在Windows 7 64位的opencv 2.4错误

我在Windows 7 64位中使用CodeBlocks,并使用MinGw作为默认的c / c ++编译器。

几天前,我需要使用OpenCV,经过了很多错误之后,我得到了这样的难以解决的错误:

img http://img.zgserver.com/c%2B%2B/xc9hy8.png

img2 http://img.zgserver.com/c%2B%2B/pwt8j.png

示例代码:

#include "cv.h" #include "highgui.h" int main( int argc, char** argv ) { IplImage* img = cvLoadImage( argv[1] ); cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE ); cvShowImage( "Example1", img ); cvWaitKey(0); cvReleaseImage( &img ); cvDestroyWindow( "Example1" ); } 

我相信我的链接和目录设置是正确的。 所以请帮助我:)我即将放弃:(

假设你正在做的代码和图像的一切正确,这可能是一个问题,由于不兼容的opencv二进制文件。

请看看类似的安装来编译,看看它是否工作。 我在安装时遇到了类似的问题,通过再次编译二进制文件修复了这个问题。

加载图像时,问题很可能是失败。 但是你只能确定如果你检查cvLoadImage()的返回值:

 IplImage* img = cvLoadImage( argv[1] ); if (!img) { printf("!!! cvLoadImage failed\n"); } 

如果图像格式不受支持,或者在指定位置找不到图像,该功能将失败。

您的应用程序期望加载从命令行传递的文件,所以您最好执行您的应用程序: Main.exe C:\some_img.png

您也可以在您的代码中对文件名进行硬编码:

 IplImage* img = cvLoadImage("C:\\some_img.png"); if (!img) { printf("!!! cvLoadImage failed\n"); }