Windows 7 64位中的opencv 2.4错误

时间:2012-08-13 13:37:43

标签: c++ windows opencv 64-bit

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

前几天我需要使用OpenCV,在我遇到很多错误之后,我得到了这样的不可解决的错误:

img http://oi49.tinypic.com/xc9hy8.jpg

img2 http://i48.tinypic.com/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" );
}

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

2 个答案:

答案 0 :(得分:0)

假设您在代码和映像中正确地执行了所有操作,由于opencv二进制文件不兼容,这可能是一个问题。

请查看a similar installation进行编译,看看是否有效。我的安装中遇到了类似的问题,通过再次编译二进制文件来解决这个问题。

答案 1 :(得分:0)

加载图像时问题很可能是失败。但是,只有在检查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");
}