形态学图像处理(简称形态学)是指一系列处理图像形状特征的图像处理技术。
形态学的基本思想是利用一种特殊的结构元来测量或提取输入图像中相应的形状或特征,以便进一步进行图像分析和目标识别。本章节依次对腐蚀,膨胀,开运算,闭运算,差集,交集,补集,并集进行效果展示。
read_image (Image16, 'E:/Halcon数据/资源图片/0316线束测试/1/16.bmp')
dev_set_draw ('margin')
gen_rectangle1 (ROI_0, 1943.3, 2113.04, 2546.14, 2886.72)
reduce_domain (Image16, ROI_0, ImageReduced)
crop_domain (ImageReduced, ImagePart)
*腐蚀
dev_set_color ('red')
threshold (ImagePart, Region, 0, 120)
dev_set_color ('green')
erosion_circle (Region, RegionErosion, 13.5)
dev_clear_window ()
dev_display (ImagePart)
dev_set_color ('red')
threshold (ImagePart, Region, 0, 120)
dev_set_color ('green')
erosion_rectangle1 (Region, RegionErosion1, 19, 19)
*膨胀
dev_display (ImagePart)
dev_set_color ('red')
threshold (ImagePart, Region, 0, 120)
dev_set_color ('green')
dilation_circle (Region, RegionDilation, 13.5)
dev_display (ImagePart)
dev_set_color ('red')
threshold (ImagePart, Region, 0, 120)
dev_set_color ('green')
dilation_rectangle1 (Region, RegionDilation1, 19, 19)
*开运算
dev_display (ImagePart)
dev_set_color ('red')
threshold (ImagePart, Region, 0, 120)
dev_set_color ('green')
opening_circle (Region, RegionOpening, 13.5)
dev_display (ImagePart)
dev_set_color ('red')
threshold (ImagePart, Region, 0, 120)
dev_set_color ('green')
opening_rectangle1 (Region, RegionOpening1, 20, 20)
*闭运算
dev_display (ImagePart)
dev_set_color ('red')
threshold (ImagePart, Region, 0, 120)
dev_set_color ('green')
closing_circle (Region, RegionClosing, 33.5)
dev_display (ImagePart)
dev_set_color ('red')
threshold (ImagePart, Region, 0, 120)
dev_set_color ('green')
closing_rectangle1 (Region, RegionClosing1, 40, 40)
*差集
dev_set_color ('red')
threshold (ImagePart, Region, 0, 120)
dev_set_color ('green')
erosion_circle (Region, RegionErosion11, 2.5)
dev_set_draw ('fill')
dev_display (ImagePart)
dev_set_color ('red')
difference (Region, RegionErosion11, RegionDifference)
dev_set_draw ('fill')
dev_display (ImagePart)
dev_set_color ('red')
boundary (RegionDifference, RegionBorder, 'inner')
*交集
dev_display (ImagePart)
dev_set_draw ('margin')
gen_rectangle1 (ROI_0, 160.975, 251.914, 461.043, 553.366)
dev_set_draw ('fill')
intersection (ROI_0, Region, RegionIntersection)
*补集
dev_display (ImagePart)
difference (ROI_0, Region, RegionDifference1)
dev_display (ImagePart)
difference ( Region, ROI_0,RegionDifference1)
*并集
dev_display (ImagePart)
dev_set_draw ('margin')
gen_circle (ROI_0, 105.694, 397.049, 77.9435)
rgb1_to_gray (ImagePart, GrayImage)
overpaint_region (GrayImage, ROI_0, 0, 'fill')
union2 (Region, ROI_0, RegionUnion)