![04df74e8d16cd04e6711dc3db9d4607e.png](https://i-blog.csdnimg.cn/blog_migrate/6230f6375d38c2f2813019e81c2b4ee8.jpeg)
本文目的
目的:学习使用opencv的更多图形变化操作
语言:java
版本:opencv-410
简介:使用morphologyEx(Mat src, Mat dst, int op, Mat kernel)进行更多图像变换
分解介绍
- MORPH_OPEN – 开运算(Opening operation)
先腐蚀,再膨胀,可清除一些小东西(亮的),放大局部低亮度的区域 效果如下:左侧的小亮点,通过开运算后就消除掉了
![5a0cb80309989dd84b6fc397baabf326.png](https://i-blog.csdnimg.cn/blog_migrate/69c94c72f5ec401fbcca83a828e720a0.jpeg)
- MORPH_CLOSE – 闭运算(Closing operation)
先膨胀,再腐蚀,可清除小黑点 效果如下:左侧的小黑点,通过闭运算后就消除掉了
![d240f637f52e6d9db4d940c4fa733e4a.png](https://i-blog.csdnimg.cn/blog_migrate/dd6366a327cff7749b500a3d4c170eb4.jpeg)
- MORPH_GRADIENT -形态学梯度(Morphological gradient)
膨胀图与腐蚀图之差,提取物体边缘 - MORPH_TOPHAT - “顶帽”(“Top hat”)
原图像-开运算图,突出原图像中比周围亮的区域 - MORPH_BLACKHAT - “黑帽”(“Black hat“)
闭运算图-原图像,突出原图像中比周围暗的区域
代码
package
效果图
本程序原图:
![da6da7cc1eafa184cbe19714e93c6e34.png](https://i-blog.csdnimg.cn/blog_migrate/ab89ed9bdd8f3f39e6545458235a0b17.jpeg)
开运算结果:是不是放大了低亮度区域
![5f552994f3334c6d9839a3306f8e256b.png](https://i-blog.csdnimg.cn/blog_migrate/211f90840a667d9dee52e5b0a41defa5.jpeg)
闭运算结果:是不是消除了部分小黑点
![d7967c4ee39d2625d5bf0fd41857c736.png](https://i-blog.csdnimg.cn/blog_migrate/c320e242d70976e3b7192607eb40f9e9.jpeg)
形态学变换后效果:
![76306f04caf00b4689cd98afba16f435.png](https://i-blog.csdnimg.cn/blog_migrate/be6f3b645bc01552c099c593416d61c0.jpeg)
顶帽操作效果:原图-开运算结果
![c681879596da72e53669caf3d04de441.png](https://i-blog.csdnimg.cn/blog_migrate/10280e3621b038a29a2fc4c1936ad475.jpeg)
黑帽操作效果:闭运算图-原图像
![04f0d807e8e78afa6e7c1583d48da384.png](https://i-blog.csdnimg.cn/blog_migrate/1fab54a2b82d6b492b5e497c2ef1826a.jpeg)