c++opencv批量读图转灰度并修改尺寸

我首先将图片名称改为了1.jpg 2.jpg这样的顺序排列,如果不知道怎么改可以搜索一下如何批量修改文件名称。

#include     
#include                 

using namespace std;
using namespace cv;
using namespace cv::ml;


string savedImageName;
stringstream ss1;
string str1;
Mat gray;
int main()
{

    for (int i = 1; i < 4348; i++) //i是你的图片数量
    {
        vector images;
        string name = "D:/VSlearning/image/posdata/" + to_string(i) + ".jpg";//这里是你的文件路径以及文件名
        Mat img = imread(name, 0);//这里的0就代表是灰度
        cout << "name: " << name << endl;

        if (img.empty())
        {
            printf("没找到图片");
            return -1;
        }
        images.push_back(img);

        resize(img, gray, Size(20,20),0,0);//Size 是图片尺寸根据需要改
        savedImageName = "D:/positive/" + to_string(i) + ".jpg";//看你保存的位置要放在哪里
        imwrite(savedImageName, gray);

        cout << "savedImageName: " << savedImageName << endl;


    }
    system("pause");
    return 0;
}

你可能感兴趣的:(opencv,opencv,c++,机器学习,图像处理)