从 OpenCV(C++)中的目录读取多个图像

Posted

技术标签:

【中文标题】从 OpenCV(C++)中的目录读取多个图像【英文标题】:Read multiple images from directory in OpenCV (C++) 【发布时间】:2015-09-24 07:53:38 【问题描述】:

我正在尝试从OpenCV 的目录中读取所有图像。我使用videocapture 和以下参考How to read multiple images from a folder in open cv (using C)。如果我这样做:

VideoCapture cap("c:/fullpath/Image_001.png"); // for Image_001.png, etc. This is working.
while( cap.isOpened() )

    Mat frame;
    cap.read(frame);
// process(img);

它有效,但如果我这样做:

VideoCapture cap("c:/fullpath/Image_%03d.png"); // for Image_001.png, etc. This doesn't works.
 while( cap.isOpened() )
 
    Mat frame;
    cap.read(frame);
    // process(img);
 

然后它显示以下错误:

WARNING: Couldn't read movie file c:/fullpath/Image_%03d.png

请告诉我哪里出错了?

【问题讨论】:

使用dirent.h对字符串输出进行排序 我已经找到了一个解决方案,我会在有空的时候发布它。谢谢! 嗨,介意分享您的解决方案吗? 【参考方案1】:

从我所做的测试来看,OpenCV 似乎会查找序列中的第一个图像,从 Image_000.png 开始。如果图片没有从 000 开始按顺序编号,则不起作用。

【讨论】:

以上是关于从 OpenCV(C++)中的目录读取多个图像的主要内容,如果未能解决你的问题,请参考以下文章

使用 OpenCV(C++)读取文件夹中的任何 .jpg 图像 [关闭]

从/在一个目录中加载/保存多个图像 - opencv c++

详解C++标准库<sstream>中的类stringstream,并利用它实现OpenCV下的图片批量读取

如何将来自不同图像的多个描述符存储在 C++ 和 OpenCV 中的向量向量中?

OpenCV读写图像文件解析

使用 VideoCapture 读取目录中的图像不起作用