首先上图:如下,图像质量比较差,不过没关系
然后上代码:
read_image(Image, 'C:/Users/lichen/Desktop/AutoFocus/cal_up.png')
auto_threshold(Image, Regions, 15) //15 代表附近区域灰度变化大于15
connection(Regions, ConnectedRegions) //将阈值处理的图 分割成块
MinR:=15 // 需要找圆的 最小半径
MaxR:=260 // 最大半径
PI:=3.141592
*选择面积在 范围之内的 minR^2*PI < area < maxR^2*PI
*选择圆度在 0.6-1之间的
select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', MinR*MinR*PI, MaxR*MaxR*PI)
select_shape(SelectedRegions, SelectedRegions1, 'circularity', 'and', 0.6, 1)
count_obj(SelectedRegions1, Number)
for Index := 1 to Number by 1
dev_clear_window()
select_obj(SelectedRegions1, ObjectSelected, Index)
*对外边缘进行平滑处理
opening_circle(ObjectSe