形态学相关算子的总结

腐蚀:利用n*n的结构元素扫描图像的每一个像素,结构元素原点与扫描像素覆盖,进行“与”运算,如果都为1,则结果图像的该像素为1,否则为0。(收缩图像)

膨胀:利用n*n的结构元素扫描图像的每一个像素,结构元素原点与扫描像素覆盖,进行“与”运算,如果都为0,则结果图像的该像素为0,否则为1。(扩大图像)

region边界应用:

原图 - 腐蚀后 = 内边界

原图 - 膨胀后 = 外边界

 

1.gen_disc_se

功能:创建椭圆形结构元素,用于图像的腐蚀膨胀

2.gray_erosion

功能:使用结构元素对图像做腐蚀操作

3.gray_dilation

功能:使用结构元素对图像做膨胀操作

4.erosion_circle

功能:使用圆形结构元素对区域region做腐蚀操作

5.erosion_rectangle1

功能:使用矩形结构元素对区域region做腐蚀操作

6.dilation_circle

功能:使用圆形结构元素对区域region做膨胀操作

7.dilation_rectangle1

功能:使用矩形结构元素对区域region做膨胀操作

8.erosion1

功能:使用结构元素对区域region做迭代腐蚀操作

9.erosion2

功能:使用结构元素对区域region做迭代腐蚀操作(可设置结构元素原点)

10.dilation1

功能:使用结构元素对区域region做迭代膨胀操作

11.dilation2

功能:使用结构元素对区域region做迭代膨胀操作(可设置结构元素原点)

12.minkowski_add1

功能:使用结构元素对区域region做闵可夫斯基加法操作

13.minkowski_add2

功能:使用结构元素对区域region做闵可夫斯基加法操作(可设置结构元素原点)

如果结构元素对称,则闵可夫斯基加法与膨胀效果一样

如果结构元素不对称,则闵可夫斯基加法与膨胀效果不一样

14.minkowski_sub1

功能:使用结构元素对区域region做闵可夫斯基减法操作

15.minkowski_sub2

功能:使用结构元素对区域region做闵可夫斯基减法操作(可设置结构元素原点)

如果结构元素对称,则闵可夫斯基减法与腐蚀效果一样

如果结构元素不对称,则闵可夫斯基减法与腐蚀效果不一样

16.hit_or_miss

功能:对区域region做击中与击不中区域计算

 

****************************开运算****************************

 

先腐蚀后膨胀,用来消除小物体,分离物体,平滑较大物体的边界,扩大暗背景,收缩亮前景。

1.opening

功能:使用结构元素对区域region做开运算

2.opening_circle

功能:使用圆形结构元素对区域region做开运算

3.opening_rectangle1

功能:使用矩形结构元素对区域region做开运算

4.gray_opening

功能:使用灰度值结构元素对图像做开运算

5.gray_opening_rect

功能:使用矩形灰度值结构元素对图像做开运算

6.gray_opening_shape

功能:使用多边形灰度值结构元素对图像做开运算

****************************闭运算****************************

先膨胀后腐蚀,用来填充物体内部细小孔洞,连接邻近物体,平滑边界,扩大亮前景,收缩暗背景。

1.closing

功能:使用结构元素对区域region做闭运算

2.closing_circle

功能:使用圆形结构元素对区域region做闭运算

3.closing_rectangle1

功能:使用矩形结构元素对区域region做闭运算

4.gray_closing

功能:使用灰度值结构元素对图像做闭运算

5.gray_closing_rect

功能:使用矩形灰度值结构元素对图像做闭运算

6.gray_closing_shape

功能:使用多边形灰度值结构元素对图像做闭运算

****************************顶帽(礼帽)变换****************************

顶帽运算往往用来分离比邻近点亮一些的斑块。(顶帽变换结果 = 原始图像 - 开运算结果

当一幅图像具有大幅的背景的时候,而微小物品比较有规律的情况下,可以使用顶帽运算进行背景提取。

dev_close_window ()
read_image(Image, 'E:/MyHalcon/yzm.png')
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
dev_display (Image)
rgb1_to_gray (Image, GrayImage)
threshold (GrayImage, Regions, 0, 223)
 
gen_ellipse (Ellipse, 200, 200, 0, 3, 2)
top_hat (Regions, Ellipse, RegionBottomHat)
difference (Regions, RegionBottomHat, ImageSub)
dev_clear_window ()
dev_display(RegionBottomHat)
disp_message (WindowHandle, '顶帽结果', 'window', 12, 12, 'black', 'true')
disp_continue_message (WindowHandle, 'black', 'true')
stop()
dev_clear_window ()
dev_display(ImageSub)
disp_message (WindowHandle, '与原图求差异,提取前景', 'window', 12, 12, 'black', 'true')

1.原图

image.png

2.阈值图

image.png

3.顶帽变换结果

image.png

4.提取前景

image.png

1.top_hat

功能:区域region顶帽变换操作

2.gray_tophat

功能:灰度图像做顶帽变换操作,通过gen_disc_se生成灰度结构元素

3.bottom_hat

功能:区域region底帽(黑帽)变换操作

4.gray_bothat

功能:灰度图像做底帽变换操作

底帽变换结果 = 闭运算结果 - 原始图像

适用于在较亮的背景中求暗的像素点

5.morph_hat

功能:区域region形态帽变换操作(闭运算-开运算)



--------------------- 

作者:hackpig
来源:
www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!



本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864