JavaCV将图像读取为灰度

JavaCV将图像读取为灰度

首先上张图。

JavaCV将图像读取为灰度_第1张图片

现在要对上面图进行灰度处理

示例代码:

package com.example.demo.test;

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

import static org.bytedeco.javacpp.opencv_imgproc.CV_RGB2GRAY;
import static org.bytedeco.javacpp.opencv_imgproc.cvtColor;

/**
 * @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
     * @return
     */
    public static Mat readImgToGray(Mat mat) {
        Mat src_gray = new Mat();
        cvtColor(mat, src_gray, CV_RGB2GRAY);
        return src_gray;
    }

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

}

效果图:

JavaCV将图像读取为灰度_第2张图片

你可能感兴趣的:(javacv)