Opencv中遍历文件夹下的图片及存储

我用的运行环境是Opencv2.4.13+VS2017。今天在做实验的时候,要求对一个图片集进行处理,并且图片的命名不是简单的1,2,3这样的序列号,是无规则的,研究了一下。

首先,是从文件夹里依次读取出图片,主要代码如下:

string traverse(int i)
{   
    string fileFullName;
    string dir_path = "E:\\CourseTests\\files\\pos\\";//图片集的存储路径
    Directory dir;
    vector<string> fileNames = dir.GetListFiles(dir_path, "*.jpg", false);
    if (i < fileNames.size())
    {
        string fileName = fileNames[i];//取得图片的名字
        fileFullName = dir_path + fileName;//得到图片集中一张图片的具体路径

    }  
    return fileFullName;
}

之后,只需要调用读取图片的函数,就可以了,代码如下:

cv::Mat srcImage = cv::imread(bianli(i));

图片读取成功了,接下来就是将经过操作的图片依次存入自己新建的文件夹中,代码如下:

string fileFullName2;
string dir_path = "E:\\CourseTests\\files\\pos\\";
Directory dir;
vector<string> fileNames = dir.GetListFiles(dir_path, "*.jpg", false);
string fileName = fileNames[i];
fileFullName2 = "E:\\CourseTests\\files\\neg\\" + fileName;//图片的存储路径,并且以图片之前的名字命名
imwrite(fileFullName2, image);
好了,到此,就完成了图片集的遍历和存储。第一次写博客,请多多指教。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值