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);
}