JavaCV高斯模糊

JavaCV高斯模糊

首先上张图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AfsbYrYF-1598006075988)(C:\Users\75412\AppData\Roaming\Typora\typora-user-images\image-20200821155626444.png)]

现在要对上面图进行高斯模糊处理

示例代码:

package com.example.demo.test;

import com.example.demo.utils.JavaCVUtil;
import org.bytedeco.javacpp.opencv_core;
import org.bytedeco.javacpp.opencv_core.*;
import org.bytedeco.javacpp.opencv_imgproc;

import java.util.Random;

import static com.example.demo.car.PlateLocate.*;
import static org.bytedeco.javacpp.opencv_core.*;
import static org.bytedeco.javacpp.opencv_imgproc.*;

/**
 * @Author: dinghao
 * @Date: 2020/8/21 16:09
 */
public class JavaCVTest {


    /**
     * 读取图片
     *
     * @param imgPath 图片路径
     * @return Mat 图片mat
     */
    public static Mat readImg(String imgPath) {
        Mat mat = JavaCVUtil.imRead(imgPath);
        return mat;
    }

    /**
     * 读取图片
     * @param mat 图片mat
     * @param imgPath 图片路径
     */
    public static void writeImg(Mat mat, String imgPath) {
        JavaCVUtil.imWrite(mat, imgPath);
    }


   /**
     * 将图片mat高斯模糊处理
     *
     * @param mat 图片mat
     * @return Mat 图片mat
     */
    public static Mat readImgToGaussianBlur(Mat mat) {
        int gaussianBlurSize = 5;
        Mat src_gaussianBlur = new Mat();
        GaussianBlur(mat, src_gaussianBlur, new opencv_core.Size(gaussianBlurSize, gaussianBlurSize), 0, 0, BORDER_DEFAULT);
        return src_gaussianBlur;
    }


    public static void main(String[] args) {
        String imgPath = "src.jpg";
        Mat src = readImg(imgPath);
        Mat imgToGaussianBlur = readImgToGaussianBlur(src);
        writeImg(imgToGaussianBlur, "imgToGaussianBlur.jpg");
    }

}

效果图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GLjnjV7O-1598006075990)(C:\Users\75412\AppData\Roaming\Typora\typora-user-images\image-20200821170607002.png)]

你可能感兴趣的:(javacv)