*本程序来自halcon例程,但将不重要的行删除或注释,凸显二值形态学算子

*本程序演示基本的形体学操作。
*本程序的目标市检测每一个(在暗背景上的明亮)小颗粒
* 图片->二值化->开运算->腐蚀->膨胀
dev_update_off ()
read_image (Image, 'pellets')

*从背景分割所有小颗粒的区域
binary_threshold (Image, LightRegion, 'max_separability', 'light', UsedThreshold)
*开运算
opening_circle (LightRegion, Region, 3.5)
dev_display (Region)
*分离每一个颗粒与其它颗粒(通光腐蚀
erosion_circle (Region, RegionErosion, 7.5)
*dev_display (Image)
dev_display (RegionErosion)


*计算连接的颗粒区域
*将不连接的区域打散
connection (RegionErosion, ConnectedRegions)
*到这行,实际上已经计算出了小颗粒数目
count_obj (ConnectedRegions, Number0)
dev_display (Image)
dev_display (ConnectedRegions)


*恢复到原来大小的颗粒(通光应用膨胀
dilation_circle (ConnectedRegions, RegionDilation, 7.5)
*计算小颗粒数目,可以看到和上面的Number0值一样
count_obj (RegionDilation, Number)
dev_display (Image)
dev_display (RegionDilation)

               图一、原来的图像

 

 

 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐