*循环读入图片
list_files('F:/halcon_test/circularity_die', 'files', Files)
tuple_regexp_select (Files, '.png', Imagefiles)
for imgIndex := 0 to |Imagefiles| -1 by 1
read_image (Image, Imagefiles[imgIndex])
*根据灰度生成感兴趣区域
min_max_gray (Image, Image, 0, Min, Max, Range)
threshold (Image, Region,Max-80 , Max)
shape_trans (Region, RegionTrans, 'rectangle2')
reduce_domain (Image, RegionTrans, ImageReduced)
*选择焊点
min_max_gray (RegionTrans, ImageReduced, 0, Min, Max, Range)
threshold (ImageReduced, Region1, Min, Min+30)
*形态学操作滤除孤立点
opening_circle (Region1, RegionOpening,10)
*多特征选择
connection (RegionOpening, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, ['rectangularity','circularity'], 'and', [0,0.5427], [0.8573,0.94944])
dev_clear_window ()
dev_display(Image)
dev_display (SelectedRegions)
stop()
endfor
效果图: