Imread & argv 图像位置? [复制]
Posted
技术标签:
【中文标题】Imread & argv 图像位置? [复制]【英文标题】:Imread & argv image location? [duplicate] 【发布时间】:2014-07-07 07:30:58 【问题描述】:我是 C++ 编码的新手,目前正在开发一个应用程序,该应用程序可以清除图片中的所有对象,除了最大的对象。我正在寻找基于我找到的边界框教程进行对象大小检测here
但是这段代码包含一行使用 imread 函数,然后是一个数组来指定图像的路径
/// Load source image and convert it to gray
src = imread( argv[1], 1 );
在这种情况下如何使用 argv[1] 来指出图像的来源?我认为 argv & argc 与调用的命令行数量有关吗?有什么信息吗?
如前所述,我是 C++ 新手,如果这是一个愚蠢的问题,我很抱歉。 提前致谢
【问题讨论】:
【参考方案1】:argc
包含多个命令行参数,其中argv
包含命令本身,其中第一个命令是程序名称本身。例如:
./program param1 param2
将有argc=3
和
argv[0] = program
argv[1] = param1
argv[2] = param2
所以如果你的程序名称是program
并且你的文件路径是D:/folder/file
那么您应该将param1
替换为D:/folder/file
,然后argv[1]
将包含文件路径。
【讨论】:
如何在执行程序本身之前添加这些命令? Cmd 仅在调试后立即弹出.. @TheAlPaca02:这不再是 C++ 问题,而是环境问题。根据您的问题,您可能正在使用代码编辑器(例如 Visual Studio)来开发您的 C++ 程序,并从您的编辑器启动该程序,我建议您检查一下如何在您的特定编辑器中添加命令行(如果您找不到,请提出一个新问题,准确说明您使用的是哪个编辑器)。 @TheAlPaca02,正如 Matthieu 指出的那样,使用您正在使用的特定 IDE 进行搜索,如何设置参数。对于 Visual Studio,右键单击项目,选择属性,然后在对话框中,您将找到一个选项Command Arguments,您可以在其中设置它们。注意:使用 IDE 时无需指定程序名称。【参考方案2】:您可以在 argc 上找到信息,argv here。所以是的,imread
可以将argv
中的参数之一作为指定图像文件名/路径的字符串。
【讨论】:
以上是关于Imread & argv 图像位置? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
GrabCut - bgdModel & fgdModel 为空 - 断言错误