Java OpenCV-4.0.0 图像处理07.0 图像形态学操作 开操作和闭操作

Java OpenCV-4.0.0 图像处理07.0 图像形态学操作 开操作和闭操作

Java OpenCV-4.0.0 图像形态学操作

开操作:可以去掉图像中的小对象。
闭操作:可以填充图像中的小对象。

形态学梯度:膨胀减腐蚀。
顶帽:原图像与开操作之间的差值图像。
黑帽:原图像与闭操作之间的差值图像。

package com.xu.opencv.image;

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Point;
import org.opencv.core.Size;
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.image   
 * @author: xuhyacinth     
 * @date: 2019年10月22日 12:16:55
 * @version: V-1.0.0 
 * @Copyright: 2019 xuhyacinth
 *
 */
public class Image {

	static {
		System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
	}

	public static void main(String[] args) {
		open();
	}

	/**
	 * OpenCV-4.0.0 图像形态学操作 开操作(先腐蚀后膨胀)
	 * @return: void  
	 * @date: 2019年10月22日 12:16:55
	 */
	public static void open() {
		Mat src = Imgcodecs.imread("C:\\Users\\Administrator\\Pictures\\test.jpg");
		Mat image = new Mat(src.size(), src.type());
		//Imgproc.getStructuringElement 获取图片形态结构
		Mat kernel = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(15, 15), new Point(-1, -1));
		Imgproc.morphologyEx(src, image, Imgproc.MORPH_OPEN, kernel);
		HighGui.imshow("图像形态学操作 开操作(先腐蚀后膨胀)", image);
		HighGui.waitKey(1);
	}

	/**
	 * OpenCV-4.0.0 图像形态学操作 闭操作(先膨胀后腐蚀)
	 * @return: void  
	 * @date: 2019年10月22日 12:16:55
	 */
	public static void close() {
		Mat src = Imgcodecs.imread("C:\\Users\\Administrator\\Pictures\\test1.jpg");
		Mat image = new Mat(src.size(), src.type());
		//Imgproc.getStructuringElement 获取图片形态结构调整Size(,)的大小来去除污点
		Mat kernel = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(15, 15), new Point(-1, -1));
		Imgproc.morphologyEx(src, image, Imgproc.MORPH_CLOSE, kernel);
		HighGui.imshow("图像形态学操作 闭操作(先膨胀后腐蚀)", image);
		HighGui.waitKey(1);
	}

}

Java OpenCV-4.0.0 图像处理07.0 图像形态学操作 开操作和闭操作_第1张图片
Java OpenCV-4.0.0 图像处理07.0 图像形态学操作 开操作和闭操作_第2张图片

你可能感兴趣的:(OpenCV,图像处理,Java,OpenCV,OpenCV-4.0.0,Java,图像处理,图像形态学操作)