Java OpenCV 图像处理10 图像阈值 二值化
是把图像分割的标尺,比如说如果像素值大于阈值,则会分配一个值(可能为白色),否则会分配另一个值(可能为黑色)
package com.xu.image;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
/**
*
* @Title: Image.java
* @Description: OpenCV-4.0.0 测试文件
* @Package com.xu.test
* @author: xuhyacinth
* @date: 2019年12月10日20:17:11
* @version: V-1.0.0
* @Copyright: 2019 xuhyacinth
*
*/
public class Image {
static {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
public static void main(String[] args) {
threshold();
}
/**
* OpenCV-4.0.0 阈值处理
* @return: void
* @date: 2019年12月10日20:17:11
*/
public static void threshold() {
Mat src= Imgcodecs.imread("C:\\Users\\Administrator\\Pictures\\99.png");
Mat dst=new Mat();
Mat gry=new Mat();
Imgproc.cvtColor(src, gry, Imgproc.COLOR_RGB2GRAY);
Imgproc.threshold(gry, dst, 75, 255, Imgproc.THRESH_BINARY_INV);
//THRESH_BINARY = 0,
//THRESH_BINARY_INV = 1,
//THRESH_TRUNC = 2,
//THRESH_TOZERO = 3,
//THRESH_TOZERO_INV = 4,
//THRESH_MASK = 7,
//THRESH_OTSU = 8,
//THRESH_TRIANGLE = 16;
HighGui.imshow("阈值处理",dst);
HighGui.waitKey(0);
}
}