搜索
12
返回列表 发新帖
开启左侧

[已解决] 计算一个圆环的最大厚度,但圆环内圈并不光滑

[复制链接]
 楼主| Kiki 发表于 2016-8-8 19:36:02 | 显示全部楼层

黄金VIP |主题 |帖子 |积分 1552

RE: 计算一个圆环的最大厚度,但圆环内圈并不光滑

KinHim 发表于 2016-8-8 09:54
给张原图,练练手

图在楼下

点评

用了region xld 相交点求距离,做得好粗糙25 27 22  详情 回复 发表于 2016-8-18 09:29
51Halcon.com 专注于机器视觉应用技术
回复

使用道具 举报

KinHim 发表于 2016-8-18 09:29:50 | 显示全部楼层

部门助理 |主题 |帖子 |积分 418

RE: 计算一个圆环的最大厚度,但圆环内圈并不光滑


用了region xld 相交点求距离,做得好粗糙25 27 22

点评

这个就是思路的尝试哈  详情 回复 发表于 2016-8-26 15:21
51Halcon.com 专注于机器视觉应用技术
回复

使用道具 举报

 楼主| Kiki 发表于 2016-8-26 15:21:37 | 显示全部楼层

黄金VIP |主题 |帖子 |积分 1552

RE: 计算一个圆环的最大厚度,但圆环内圈并不光滑

KinHim 发表于 2016-8-18 09:29
用了region xld 相交点求距离,做得好粗糙25 27 22

这个就是思路的尝试哈
51Halcon.com 专注于机器视觉应用技术
回复

使用道具 举报

lin-chaosheng 发表于 2016-10-15 17:35:42 | 显示全部楼层

铂金VIP |主题 |帖子 |积分 2106

猴赛雷呀
51Halcon.com 专注于机器视觉应用技术
回复

使用道具 举报

FONG93 发表于 2016-10-28 08:47:42 | 显示全部楼层

试用员工 |主题 |帖子 |积分 0

学习大神操作,谢谢无私的分享!!!!
51Halcon.com 专注于机器视觉应用技术
回复

使用道具 举报

opencv 发表于 2016-12-5 15:51:24 | 显示全部楼层

正式员工 |主题 |帖子 |积分 69

您好,有一处我不太懂,计算厚度时,
MinDis:=Radius2-DistanceOut-Radius
MaxDis:=Radius2+DistanceIn-Radius
这块我还是有点没太弄明白  为什么计算厚度时,考虑两个圆同心度问题。
51Halcon.com 专注于机器视觉应用技术
回复

使用道具 举报

chenheren339 发表于 2016-12-9 11:11:33 | 显示全部楼层

正式员工 |主题 |帖子 |积分 127

RE: 计算一个圆环的最大厚度,但圆环内圈并不光滑

read_image (Image, '1.bmp')
dev_close_window()
dev_open_window_fit_image(Image, 0, 0, -1, -1, WindowHandle)
dev_display(Image)
threshold(Image, Region, 0, 80)
closing_circle(Region, RegionClosing, 5)
fill_up(RegionClosing, RegionFillUp)
*求外圆
opening_circle(RegionFillUp, RegionOpening1, 2)
connection(RegionOpening1, ConnectedRegions1)
select_shape_std(ConnectedRegions1, SelectedRegions1, 'max_area', 50)
gen_contour_region_xld(SelectedRegions1, Contours, 'border')
fit_circle_contour_xld(Contours, 'algebraic', -1, 0, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder)
gen_circle_contour_xld(ContCircle, Row, Column, Radius, 0, 6.28318, 'positive', 1)
*求内圆
difference(RegionFillUp, RegionClosing, RegionDifference)
opening_circle(RegionDifference, RegionOpening, 2)
connection(RegionOpening, ConnectedRegions)
select_shape_std(ConnectedRegions, SelectedRegions, 'max_area', 70)
gen_contour_region_xld(SelectedRegions, Contours1, 'border')
smallest_circle_xld(Contours1, Row1, Column1, Radius1)
gen_circle_contour_xld(ContCircle1, Row1, Column1, Radius1, 0, 6.28318, 'positive', 1)
*显示
dev_clear_window()
dev_display(Image)
dev_display(ContCircle1)
dev_display(ContCircle)
disp_message(WindowHandle, '厚度为:'+(Radius-Radius1), 'window', Row1, Column1, 'black', 'true')
1.PNG
51Halcon.com 专注于机器视觉应用技术
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51Halcon机器视觉 | 粤ICP备15095995号-2|粤公网安备44030602000670号|

GMT+8, 2017-9-26 19:04 , Processed in 0.062330 second(s), 16 queries , Redis On.

快速回复 返回顶部 返回列表