java利用openCV批量修改文件夹中图片的尺寸

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_42558056/article/details/99443698

今天利用opencv批量修改文件夹中图片的大小,写了一个小小的工具类并测试运行

运行环境:java,需要引入opencv库,自己修改输入输出路径与图片大小就可以了

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
import java.io.File;

public class ChangeImgSize {
    //定义输入输出路径与目标图片的宽和高,单位:像素
    private static String filepath="D:/Users/street";
    private static String outpath="D:/Users/output";
    private static int width=250;
    private static int height=210;

    //    加载opencv库
    static {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    }

    public static void main(String[]args){
        changeImgSize(filepath,outpath,width,height);
    }
    //批量修改图片尺寸
    public static void changeImgSize(String filepath,String outpath,int width,int height){
        File file=new File(filepath);
        File outfile=new File(outpath);
        if(!outfile.exists()) {
            outfile.mkdir();
        }
        if(!file.isDirectory()){
           System.out.println("请输入正确的文件夹路径");
        }else if(file.isDirectory()){
            String[] filelist=file.list();
            for(String imgname:filelist) {
                Mat matin = Imgcodecs.imread(filepath+"/"+imgname);
                Mat mat = new Mat();
                Imgproc.resize(matin, mat, new Size(width, height), 0, 0, Imgproc.INTER_CUBIC);
                Imgcodecs.imwrite(outpath+"/"+imgname, mat);
            }
        }

    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42558056/article/details/99443698