opencv3.0 批量对图像进行处理(C++版)

  opencv2.x版本可以使用Directory获取文件中的图像名,批量读入图像,在opencv3.x版本中去除了该功能,但是由于opencv的开源,仍然可以把opencv2.x中的库函数包含进来进行编译。
  本文介绍一种简单的方法进行图像的批量读取操作,需要一个.txt文件来存放待读取的图像的名称(格式100.jpg),每行存放一个图像的名称。

这里写图片描述

实现代码如下:

#include <opencv2\opencv.hpp>
#include <iostream>
#include <fstream>
using namespace std;
using namespace cv;

int main(){
    Mat image;
    string ImgName;
    ifstream fin("D:\\C++\\C2G\\C2G\\train1\\list.txt");
    while (getline(fin, ImgName)){
        cout << "Handle" << ImgName << endl;
        ImgName = "D:\\C++\\C2G\\C2G\\train1\\" + ImgName ;
        image = imread(ImgName);
        if (!image.empty()){
            imshow("1", image);
            Mat gray, boost;
            //对图像的操作
            decolor(image, gray, boost);
            imshow("2", gray);
            //保存到原路径下
            imwrite(ImgName, gray);
            cout << "Done" << endl;
        }
    }
    cvWaitKey(0);
    return 0;
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值