使用argv读取图像

时间:2013-05-22 05:42:15

标签: c++ opencv

我是这个概念的新手,我相信这应该是任何人在这里问的最愚蠢的问题。 SOrry,但我真的不确定。

 image = imread(argv[1], CV_LOAD_IMAGE_COLOR);

我的问题是,在opencv中使用imread读取图像,我在样本中看到他们使用函数argv [1]。我的困惑在于,假设存储的图像在哪里,以便我可以在此命令方法中读取。

我的图片存储在桌面文件夹中。 我的程序也在桌面上有名字。 image.cpp。

我应该在哪里放置图像,以便我可以使用命令行来读取它。

3 个答案:

答案 0 :(得分:3)

如果你只想测试一些OpenCV功能,你可以定义
char* file_path = "c:/.../image.jpg";然后,您可以加载此图片

image = imread(file_path, CV_LOAD_IMAGE_COLOR);

答案 1 :(得分:2)

您可以将其调用为:

  

程序[文件]

其中program是程序的名称。在Windows上它可能是program.exe。无论你在[file]中输入什么,都会在argv [1]中传递给你的程序。如果它们都在同一目录中,您可以执行以下操作:

  

program file.jpg

如果文件与程序位于不同的目录中,则需要提供完整路径(或从一个路径到另一个路径的相对路径)。您可以通过编写打印argv [1]的简单程序进行实验,以确保您了解其工作原理(首先避免OpenCV的复杂性)。

答案 2 :(得分:1)

将图像放在任何地方。只需在命令行中传递文件的路径即可。正如juanchopanza在评论中提到的那样,你应该拥有该文件的读权限。