halcon3D 点云拟合球体

在这里插入图片描述

dev_get_window (WindowHandle)
dev_set_draw ('margin')
read_image (Image, 'depth.tif')
min_max_gray (Image, Image, 0, Min, Max, Range)
threshold (Image, Region, Min+1, Max)
reduce_domain (Image, Region, ImageReduced)
convert_image_type (ImageReduced, ImageConverted, 'real')
scale_image (ImageConverted, zMap, 0.8/1000, -32768*0.0008)

get_image_size (Image, Width, Height)
xScale:=0.005
yScale:=0.05
gen_image_surface_first_order (xMap, 'real', 0, xScale, 0, 0, 0, Width, Height)
gen_image_surface_first_order (yMap, 'real', yScale, 0, 0, 0, 0, Width, Height)
xyz_to_object_model_3d (xMap, yMap, zMap, ObjectModel3D)
paraName:=['primitive_type','fitting_algorithm','min_radius','max_radius']
paraValue:=['sphere','least_squares_tukey',3,12]
fit_primitives_object_model_3d (ObjectModel3D, paraName, paraValue, sphereModel)
get_object_model_3d_params (sphereModel, 'primitive_parameter', spereParam)
centerX:=spereParam[0]
centerY:=spereParam[1]
centerZ:=spereParam[2]
R:=spereParam[3]
visualize_object_model_3d (WindowHandle, [ObjectModel3D,sphereModel], [], [], \
                           ['color_0','color_1','alpha_0','alpha_1','disp_pose'],\
                           ['gray','green',0.5,0.3,'true'],\
                           [], [], [], PoseOut)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hi~ 可私信我了解后再进行下载~ 1.基于halcon算法平台; 2.提供深度图源文件以及解压密码; 3.代码预览: */********************************* * @文档名称: 基于点云的平面拟合。 * @作者: hugo * @版本: 1.1 * @日期: 2021-6-16 * @描述: 该方法支持点云平面拟合以及深度图平面拟合。 **********************************/* read_image (imageReal, './replay_38893_2021-6-7.tif') xResolution:=0.06 yResolution:=0.06 zResolution:=0.001 ScaleFactor:=[xResolution,yResolution,zResolution] rateLowRemove:=0.1 rateHighRemove:=0.1 dev_get_window (WindowHandle) *采样区域1 create_drawing_object_rectangle2 (300, 120, rad(90), 30, 20, DrawID) set_drawing_object_params (DrawID, 'color', 'red') set_drawing_object_params (DrawID, 'line_width', 1) attach_drawing_object_to_window (WindowHandle, DrawID) ......... TransPose := [0,0,d,0,0,0,0] rigid_trans_object_model_3d (SampledObjectModel3D1, TransPose, _SampledObjectModel3D1) rigid_trans_object_model_3d (ObjectModelPlane1, TransPose, _ObjectModelPlane1) create_pose (0, 0, Mean/2, 180, 0, 0, 'Rp+T', 'gba', 'point', Pose1) *visualize_object_model_3d (WindowHandle, [_ObjectModelPlane1,_SampledObjectModel3D1,SampledObjectModel3D2], [], [Pose1], [], ['intensity','lut','lut'], ['&amplitude','sqrt','sqrt'], '', 'Edited by AmazingRobot+ ' , PoseOut) visParamName := ['intensity_1','color_0','color_2','alpha_0'] visParamValue := ['coord_z','red','yellow',0.5] visualize_object_model_3d (WindowHandle, [_SampledObjectModel3D1,SampledObjectModel3D2,_ObjectModelPlane1], [], [], visParamName, visParamValue, 'Edited by AmazingRobot+', [], '', PoseOut) stop () 谢谢您的信任~

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值