opencv java图片灰度化处理

图像灰度化处理有2中方式:

注:参数IMREAD_GRAYSCALE表示图片灰度

1.加载时指定灰度参数

Mat mat = Imgcodecs.imread("/data/data/WindowsLogo.jpg", Imgcodecs.IMREAD_GRAYSCALE);

2.使用cvtColor转换成灰度图像

    Imgproc.cvtColor(src, dst, Imgcodecs.IMREAD_GRAYSCALE);

示例代码:

package test.opencv;

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

/**
 * 图片灰度化处理
 * @author hecj
 */
public class Grayscaler {

    public static void main(String[] args) {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        // 第一种 加载时灰度
        Mat mat = Imgcodecs.imread("/data/data/WindowsLogo.jpg", Imgcodecs.IMREAD_GRAYSCALE);
        Imgcodecs.imwrite("/Users/hecj/Desktop/WindowsLogo.jpg", mat);

        // 第二种 转换灰度图像
        Mat src = Imgcodecs.imread("/data/data/WindowsLogo.jpg", Imgcodecs.IMREAD_UNCHANGED);
        Mat dst = new Mat();
        Imgproc.cvtColor(src, dst, Imgcodecs.IMREAD_GRAYSCALE);
        Imgcodecs.imwrite("/Users/hecj/Desktop/WindowsLogo2.jpg", mat);

    }

}

图像如下:

这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/hechaojie_com/article/details/82055193