我是这个概念的新手,我相信这应该是任何人在这里问的最愚蠢的问题。 SOrry,但我真的不确定。
image = imread(argv[1], CV_LOAD_IMAGE_COLOR);
我的问题是,在opencv中使用imread读取图像,我在样本中看到他们使用函数argv [1]。我的困惑在于,假设存储的图像在哪里,以便我可以在此命令方法中读取。
我的图片存储在桌面文件夹中。 我的程序也在桌面上有名字。 image.cpp。
我应该在哪里放置图像,以便我可以使用命令行来读取它。
答案 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在评论中提到的那样,你应该拥有该文件的读权限。