1.安装好vs(我装的是vs2015)
2.配置好opencv4.2.0环境(网上教程很多,需要我出请留言)
网上代码超级乱,下面是我自己总结的代码,亲测有效
以下为函数主体
void RenamePic(cv::String Path)// 参数为需要修改图片文件路径
{
vector<cv::String> filenames;
cv::glob(Path, filenames);
size_t count = filenames.size(); //获取路径下图片数量
for (size_t i = 0; i < count; i++)
{
cout << "正在修改第"<<i+1<<"张图片"<< endl;
Mat img1 = imread(filenames[i]);//读图片
Mat img2;
//将图片压缩为原来的0.25倍
resize(img1, img2, Size(round((0.25)*img1.cols), round((0.25)*img1.rows)));
stringstream str;
str << i << ".jpg";// 以0开始的数字命名后缀统一为.jpg
string img_path = "D:\\数据集";//修改后保存路径
imwrite(img_path+"\\"+str.str(), img2);// 保存
}
cout << "修改完毕" << endl;
}
我的主函数
int main()
{
cout << "正在修改,请稍等,勿动!!!!" << endl;
cv::String Path = "D:\\底片扫描\\全部图片";
RenamePic(Path);
system("pause");
return 0;
}
整段代码(复制粘贴直接可用)
若头文件报错,是你环境没配置好,请配置好环境再运行代码
#include<opencv2\opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
void RenamePic(cv::String Path);
int main()
{
cout << "正在修改,请稍等,勿动!!!!" << endl;
cv::String Path = "D:\\底片扫描\\全部图片";
RenamePic(Path);
system("pause");
return 0;
}
void RenamePic(cv::String Path)
{
vector<cv::String> filenames;
cv::glob(Path, filenames);
size_t count = filenames.size();
for (size_t i = 0; i < count; i++)
{
Mat img1 = imread(filenames[i]);
Mat img2;
resize(img1, img2, Size(round((0.25)*img1.cols), round((0.25)*img1.rows)));
stringstream str;
str << i << ".jpg";
string img_path = "D:\\数据集";
imwrite(img_path+"\\"+str.str(), img2);
cout << "正在修改第"<<i+1<<"张图片"<< endl;
}
cout << "修改完毕" << endl;
}
运行成功后的结果
注意看好注释,文件路径等自行修改