我对这个概念很陌生,我相信这应该是任何人在这里问的最愚蠢的问题。对不起,但我真的不确定。
image = imread(argv[1], CV_LOAD_IMAGE_COLOR);
我的问题是,在 opencv 中使用 imread 读取图像,我在示例中看到他们使用函数 argv [1]。我的困惑是图像应该存储在哪里,以便我可以在这个命令方法中读取。
我的图像存储在桌面的文件夹图像中。我的程序也在带有名称的桌面上。图像.cpp。
我应该在哪里放置图像,以便我可以使用命令行来读取它。
如果你只是想测试一些 OpenCV 功能,你可以定义
char* file_path = "c:/.../image.jpg";Then ,你可以加载这个图像
image = imread(file_path, CV_LOAD_IMAGE_COLOR);
您可以将其调用为:
程序 [文件]
其中 program 是您的程序的名称。在 Windows 上,它可能是 program.exe。您在 [file] 中输入的任何内容都将在 argv[1] 中传递给您的程序。如果它们都在同一个目录中,您可以执行以下操作:
程序文件.jpg
如果文件与程序位于不同的目录中,则需要提供完整路径(或从一个到另一个的相对路径)。您可以通过编写一个打印 argv[1] 的简单程序来进行实验,以确保您了解事情的工作原理(首先避免 OpenCV 的复杂性)。
将图像放在任何地方。只需在命令行中传递文件的路径即可。正如 juanchopanza 在评论中提到的,您应该具有该文件的读取权限。