opencv批量resize图片

通过摄像头截图得到的一系列照片,假设我想把它们都resize到一个比较小的样子,那么可以用下面这一段代码.

首先贴代码:

#include<opencv2\core\core.hpp>
#include<opencv2\highgui\highgui.hpp>
#include<opencv2\imgproc\imgproc.hpp>
#include<iostream>

using namespace cv;
using namespace std;

int main()
{
    int i = 1;//path1目录下的文件名从1开始
    char srcImg_path[200];
    for (i = 1; i < 97; i++)//path1目录下有96个图片
    {
        sprintf(srcImg_path, "C:\\Users\\Administrator\\Desktop1\\%d.png", i);//把path1目录下的图片名存到srcImg_path中

        Mat srcImg = imread(srcImg_path, 0);
        Mat resizeImg;

        resizeImg.create(20, 20, CV_8UC1);//将这些图片resize成20*20大小的
        resize(srcImg, resizeImg, resizeImg.size(), 0, 0, INTER_LINEAR);//几种差值方式


        stringstream ss;
        ss << "C:\\Users\\Administrator\\Desktop2\\" << i << ".png";//把resize后的图片放到path2目录下
        imwrite(ss.str(), resizeImg);

    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/csdn_dzh/article/details/79012644