使用 argv 读取图像 [重复]

Posted

技术标签:

【中文标题】使用 argv 读取图像 [重复]【英文标题】:reading image using argv [duplicate] 【发布时间】:2013-05-17 01:28:28 【问题描述】:

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

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

我的问题是,在 opencv 中使用 imread 读取图像,我在示例中看到他们使用函数 argv[1]。我的困惑是图像应该存储在哪里,以便我可以在这个命令方法中读取。

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

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

【问题讨论】:

把它放在任何你有读取权限的地方。 您必须将图像的路径指定为第二个命令行参数。例如program.exe C:/Users/User/Desktop/Folder/image.jpg 【参考方案1】:

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

【讨论】:

【参考方案2】:

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

image = imread(file_path, CV_LOAD_IMAGE_COLOR);

【讨论】:

【参考方案3】:

你可以这样调用它:

程序[文件]

其中 program 是您的程序的名称。在 Windows 上,它可能是 program.exe。您在 [file] 中输入的任何内容都将在 argv[1] 中传递给您的程序。如果它们都在同一个目录中,您可以这样做:

程序文件.jpg

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

【讨论】:

以上是关于使用 argv 读取图像 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

opencv学习-第二节:图像读取与显示

如何在java中从图像中读取文本[重复]

从文件夹中读取图像(OpenCV)

opencv:图像的读取,显示,写入文件

当我读取图像时,源光栅波段和源色彩空间分量的数量不匹配[重复]

从Java中的图像文件中读取文本[重复]