我在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" );
}
我相信我的链接&目录设置是正确的。所以请帮助我:)我即将放弃:(
答案 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");
}