简单的形态学扣有噪声图片(适合初学者)

本文适合刚入本的Halcon初学者,典型的形态学设计,要学好Halcon还是要好好练习Halcon中的Demo哦!
read_image (Hull, ‘hull’) //读图
原图
get_image_size (Hull, Width, Height) //得出界面大小
dev_close_window () //关掉窗口
dev_open_window (0, 0, Width, Height, ‘black’, WindowID)//打开窗口
dev_display (Hull) //显示Hull
阈值分割后的图
threshold (Hull, Dark, 0, 80) //阈值分割,选择0-80之间的阈值
阈值分割与原图之间的交集
difference (Hull, Dark, Light) //求Hull与Dark的交集得到图Light
connection (Light, ConnectedRegions) //对所凸显出来的图片区域进行划分,划分成单个区域
划分单个区域后
select_shape (ConnectedRegions, NoHullCand, ‘area’, ‘and’, 50000, 9999999)//选择面积为50000-999999的面积块,即除去小杂点
在小面积区域,降噪
closing_circle (NoHullCand, NoHull, 13.5)//对降噪后的图片进行形态学变换,即通过腐蚀膨胀等方法对图片进行整理

difference (Hull, NoHull, Region)
opening_circle (Region, RegionOpening, 2.5)
connection (RegionOpening, ConnectedRegions)
select_shape (ConnectedRegions, RegionHull, ‘area’, ‘and’, 5000, 9999999)
shape_trans(RegionHull,ConveyHull,Region)
difference (ConvexHull, RegionHull, Region)
在这里插入图片描述
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, LargeHoles, ‘area’, ‘and’, 2000, 99999)//筛选面积为2000-99999的区域
select_shape (LargeHoles, Holes, ‘convexity’, ‘and’, 0, 0.85)
dev_display (Hull)//筛选凸度为0-0.85的区域
dev_set_line_width (5)//选用宽度为5的线
dev_set_draw (‘margin’)//所选区域使用空心覆盖,Fill为实心
dev_set_color (‘red’)//使用红色线或区域
最终抠出来的图
dev_display (Holes)//显示图片Holes

有问题的小伙伴请留言交流,一起学习!

发布了4 篇原创文章 · 获赞 4 · 访问量 237

猜你喜欢

转载自blog.csdn.net/weixin_44503397/article/details/104702443