轮廓同心度检测

*合并
* 合并断点,临近的轮廓:union_adjacent_contours_xld
* 合并位于同一条直线上的轮廓:union_collinear_contours_xld
* 合并属于同一圆上的轮廓:union_cocircular_contours_xld
* 合并具有切线关系的轮廓:union_contangential_contours_xld
* 合并具有相似方向的轮廓:union_straight_contours_xld
 
 
*拟合:
*  拟合为圆:fit_circle_contour_xld
*  拟合为直线:fit_line_contour_xld
*  拟合为矩形:fit_rectangle2_contour_xld
*
Imagefiles := ['D:/图片/视觉检测图片/3251.jpg','D:/图片/视觉检测图片/323.jpg','D:/图片/视觉检测图片/223.jpg']
for K := 0 to |Imagefiles| - 1 by 1
    read_image (Image, Imagefiles[K])
   get_image_size(Image, Width, Height)
dev_close_window()
dev_open_window(0, 0, Width/4, Height/4, 'black', WindowHandle)
dev_display(Image)

emphasize(Image, ImageEmphasize, 10, 10, 3)
threshold_sub_pix(Image, Border, 150)

select_shape_xld(Border, SelectedXLD, 'circularity', 'and', 0.85, 1)
select_shape_xld(SelectedXLD, SelectedXLD1, 'area', 'and', 150, 9999999999)

fit_circle_contour_xld (SelectedXLD1, 'atukey', -1, 2, 0, 5, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder)
gen_circle_contour_xld (ContCircle, Row, Column, Radius, 0, rad(360), 'positive', 1)

dev_display(Image)
edges_sub_pix(ImageEmphasize, Edges, 'canny', 8, 80, 80)

select_shape_xld(Edges, SelectedXLD2, 'area_points', 'and', 4000, 5000)
*select_shape_xld(SelectedXLD, SelectedXLD2, 'contlength', 'and', 1500, 2200)
fit_circle_contour_xld(SelectedXLD2, 'algebraic', -1, 0, 0, 3, 2, Row1, Column1, Radius1, StartPhi1, EndPhi1, PointOrder1)
gen_circle_contour_xld(ContCircle1, Row1, Column1, Radius1,  0, rad(360), 'positive', 1)

gen_region_points(Region, Row, Column)
gen_region_points(Region, Row1, Column1)

distance_pp(Row, Column, Row1, Column1, Distance)
gen_region_line(RegionLines, Row1, Column1, Row, Column)
dev_disp_text('D: ' + Distance+'.4', 'image', Row1, Column1, 'white', [], [])


endfor
read_image(Image, 'D:/图片/视觉检测图片/3251.jpg')
 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小兴-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值