【OpenCV+C++】 查找文件中的图片,处理后保存

目的:逐个读取单个文件夹中的所有图片,处理后保存到另一文件夹中。

途径:使用glob函数,用string字符串读取路径

代码:

#include <iostream>
#include <opencv2/opencv.hpp>
#include <windows.h>

using namespace cv;
using namespace std;

int main()
{
	string InputPath = "E:\\Graduate\\02字符识别\\DataSets\\01Input\\aa\\*.jpg";//指定路径,精确到最后一个文件夹,图片带格式,名称用*
	vector<String> InputFiles;//定义一个字符串数组作为输入文件
	glob(InputPath, InputFiles);//用glob函数将输入路径与输入文件联系起来
	if (InputFiles.size() == 0)//检验是否有图片
	{
		cout << "No image files[jpg]" << endl;
		return 0;
	}

	for (int i = 0; i < InputFiles.size(); i++)//image_file.size()代表文件中总共的图片个数 
	{
		Mat src = imread(InputFiles[i]);
		/*-----------------开始处理-------------------*/

		imshow("src", src);
		/*-----------------结束处理-------------------*/
		string OutputPath = "E:\\Graduate\\02字符识别\\DataSets\\00TestOutput\\" + to_string(i) + ".bmp";
		imwrite(OutputPath, src);
		waitKey(5);
	}
	waitKey(0);
}

注意:

1.输入路径精确到最后一个文件夹,用“*”表示原图片名,后面添加原图片格式,图片名称可以随意,不用重新命名从0开始。

string InputPath = "E:\\Graduate\\02字符识别\\DataSets\\01Input\\aa\\*.jpg";

 2.输出图片格式分三部分:输出文件路径+文件命名方式(这里命名是从0开始)+输出文件格式(可以不和原图片格式一样)

string OutputPath = "E:\\Graduate\\02字符识别\\DataSets\\00TestOutput\\" + to_string(i) + ".bmp";

 3.路径名一定要用“\\”隔开,不能用"\"。

 4.处理部分的函数可以自行添加,只用在最后的输出路径处把src改成想要输出的图片即可

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值