0

我正在创建一个简单的“hello world”vc++/opencv 项目。

在我的代码中,我想读取并显示一个名为“opencv.png”的图像:

int _tmain(int argc, _TCHAR* argv[])
{
    namedWindow( "show_image", WINDOW_AUTOSIZE );
    Mat src = imread( "opencv.png" );
    imshow( "show_image", src );
    char c = waitKey(0);
    return 0;
}

然后我把“opencv.png”放在项目根路径下。但是我在编译项目时发现,“opencv.png”不会显示。

在“helloworld/Debug”目录下,只有3个文件:

helloworld.exe
helloworld.ilk
helloworld.pdb

我必须手动将“opencv.png”复制到“调试”。如何配置项目以使其在编译时将“opencv.png”复制到输出目录?


根据詹姆斯的回答,我认为这有点复杂。有没有更简单的方法,例如在最终的 exe 文件中嵌入“opencv.png”?

4

1 回答 1

1

您可以创建自定义构建步骤来执行复制。

或者,考虑将图像放在某个已知位置,这样就不需要复制它(例如在 TestData 目录中),或者通过命令行传递图像的路径(您可以在 Debugging 中向命令行添加参数项目属性页面)。

于 2012-08-04T16:47:08.390 回答