Java OpenCV-4.0.0 图像处理07.2 图像形态学操作 图像顶帽和黑帽

Java OpenCV-4.0.0 图像处理07.2 图像形态学操作 图像顶帽和黑帽

Java OpenCV-4.0.0 图像处理 图像形态学操作 图像顶帽和黑帽

顶帽:原图像与开操作之间的差值图像。
黑帽:原图像与闭操作之间的差值图像


/**
 * OpenCV-4.0.0 图像形态学 顶帽 (原图像与开操作之间的差值图像)
 * @return: void  
 * @date: 2019年5月7日12:16:55
 */
public static void topHat() {
	Mat src = Imgcodecs.imread("C:\\Users\\Administrator\\Pictures\\1.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_TOPHAT, kernel);
	//Imgproc.resize(image, image, new Size(image.width()/3,image.height()/3));
	HighGui.imshow("图像形态学 顶帽 (原图像与开操作之间的差值图像)", image);
	HighGui.waitKey(1);
}

/**
 * OpenCV-4.0.0 图像形态学 黑帽 (原图像与闭操作之间的差值图像)
 * @return: void  
 * @date: 2019年5月7日12:16:55
 */
public static void blackHat() {
	Mat src = Imgcodecs.imread("C:\\Users\\Administrator\\Pictures\\1.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_BLACKHAT, kernel);
	//Imgproc.resize(image, image, new Size(image.width()/3,image.height()/3));
	HighGui.imshow("图像形态学 黑帽 (原图像与闭操作之间的差值图像)", image);
	HighGui.waitKey(1);
}

Java OpenCV-4.0.0 图像处理07.2 图像形态学操作 图像顶帽和黑帽
Java OpenCV-4.0.0 图像处理07.2 图像形态学操作 图像顶帽和黑帽