我是C ++编程的新手,我需要这样做:我有一个代码,它接收两个图像的路径并输出一个数字(使用opencv的直方图相似性)。
我需要使用这个功能,这样它不会给第二个图像文件,而是从文件夹加载图像,重复操作的次数与文件夹中的图像一样多,并存储结果。
如果你可以指出我可以使用的功能或某个地方,我可以学到这些,我会非常感激,我的知识非常有限。
我没有任何限制,但我也非常迷失。我想我需要放置我已经拥有的函数并为agv [i]更改argv [1]。但是如何从目录中调用文件?我应该在txt中保存文件的所有名称吗?
答案 0 :(得分:5)
OpenCV具有glob功能
void cv::glob ( String pattern,
std::vector< String > & result,
bool recursive = false
)
here你可以找到关于这个功能的详细答案
答案 1 :(得分:0)
首先,您不需要在txt文件中保存文件的所有名称。我很多次遇到过同样的问题,并找到了以下解决方案。正如micka建议你必须使用与opencv无关的dirent.h
添加后,根据需要更改后运行以下代码
:%!tr esta ESTA
所以你看到dirent.h和sprintf在这里完成了工作。我在上面添加了一些描述作为注释并引用它们。希望这有帮助。询问您是否有任何要澄清的内容。谢谢!!