设置首页收藏本站
12
返回列表 发新帖
开启左侧

焊缝追踪-焊缝怎么识别和拟合

[复制链接]
liuhongliang 发表于 2023-4-4 10:03:51 | 显示全部楼层
Alan_Song 发表于 2023-1-11 14:41
这种直接卡尺拟合有什么问题吗,就稍微注意拟合方式过滤干扰点就行了

大佬,卡尺有参数能规避干扰点吗
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
大凡光学,专注标定板提供
Alan_Song 发表于 2023-6-19 14:24:18 | 显示全部楼层
liuhongliang 发表于 2023-4-4 10:03
大佬,卡尺有参数能规避干扰点吗

fit_line_contour_xld里面的Algorithm别用标准二乘法就行,其他的算法都能过滤干扰点
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
freekun139com 发表于 2023-6-22 19:13:30 | 显示全部楼层
*尝试学习一下
read_image (Image, '焊缝识别拟合.jpg')
decompose3 (Image, ImageR, ImageG, ImageB)
get_image_size (ImageR, Width, Height)

*通过动态阈值定位出大致区域
mean_image (ImageB, ImageMean, 3, 3)
mean_image (ImageB, ImageMean1, 35, 35)
dyn_threshold (ImageMean, ImageMean1, RegionDynThresh, 21, 'dark')
opening_circle (RegionDynThresh, RegionOpening, 3.5)
closing_rectangle1 (RegionOpening, RegionClosing, 3, 100)
connection (RegionClosing, ConnectedRegions)
select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 70)
shape_trans (SelectedRegions, RegionTrans, 'rectangle2')
dilation_rectangle1 (RegionTrans, RegionDilation, 15, 11)
smallest_rectangle2 (RegionDilation, Row, Column, Phi, Length1, Length2)

*计算中心线端点
RowLower := Row    + Length1 * sin(abs(Phi))
ColLower := Column - Length1 * cos(Phi)
gen_cross_contour_xld (CrossLower, RowLower, ColLower, 64, rad(45))
RowUpper := Row    - Length1 * sin(abs(Phi))
ColUpper := Column + Length1 * cos(Phi)
gen_cross_contour_xld (CrossUpper, RowUpper, ColUpper, 64, rad(45))

*创建测量模型
create_metrology_model (MetrologyHandle)
set_metrology_model_image_size (MetrologyHandle, Width, Height)

*添加测量对象到测量模型
add_metrology_object_line_measure (MetrologyHandle, RowLower, ColLower, RowUpper, ColUpper, 50, 5, 1, 30, [], [], Index)

*应用测量模型
apply_metrology_model (ImageB, MetrologyHandle)
get_metrology_object_model_contour (ModelContour, MetrologyHandle, 'all', 1.5)

*获取测量结果
get_metrology_object_result_contour (ResultContour, MetrologyHandle, 'all', 'all', 1.5)
*查看测量区域
get_metrology_object_measures (MeasureContour, MetrologyHandle, 'all', 'all', RowM, ColumnM)
gen_cross_contour_xld (UsedEdgesM, RowM, ColumnM, 6, rad(45))

*显示测量结果轮廓
dev_set_color ('green')
dev_display (Image)
dev_display (ResultContour)

*清除测量模型
clear_metrology_model (MetrologyHandle)
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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