我想尝试写一个OpenCV的简单hello world程序,但是不知道为什么它不能正常工作。
当我编译并运行以下代码时:
#include <cv.h>
#include <highgui.h>
int main(int argc, char* argv[])
{
IplImage* img = cvLoadImage( "myjpeg.jpg" );
cvNamedWindow( "MyJPG", CV_WINDOW_AUTOSIZE );
cvShowImage("MyJPG", img);
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow( "MyJPG" );
return 0;
}
我得到了一个大约200x200的灰色框,而不是所指定的.jpg文件。 如果我使用不同的jpg,我会得到同样类型的窗口,如果我放入一个无效的文件名,则会得到非常小的窗口(预期)。
我正在使用Windows 7 Professional下的Visual Studio 2008。
大多数示例程序似乎都能正常工作,因此我对于代码如何正常加载示例jpg但在上面的代码中却无法正常工作感到困惑(甚至尝试了示例jpeg)。
更新
编译产生的可执行文件可以正常工作,但是Visual Studio 2008调试器每次尝试运行调试器时都会将空指针加载到img中 - 无论文件位置是否隐式或显式。