Halcon将Tiff转为点云格式

tiff转点云

1.设置分辨率

首先我们tiff的行和列为像素坐标,我们需要知道相机的x,y分辨率将其转换为真实坐标。在这里设置分辨率:

resolutionX:=0.07
resolutionY:=0.07

2.选择图像深度范围(有效区域)

在这里选择要转为为点云的区域,通过设置二值化阈值(-1000,1000)也为了排除无效值。

read_image (inputImage, Selection)
threshold (inputImage, validRegion, -1000, 1000)

3.获取真实点的坐标

将区域坐标乘分辨率转为真实坐标

get_region_points (validRegion, Rows, Columns)
get_grayval (inputImage, Rows, Columns,z)
x:=Columns*resolutionX
y:=Rows *resolutionY

4.显示可视化点云

这里通过z轴伪彩可视化点云

gen_object_model_3d_from_points(x, y, z, ObjectModel3D)
dev_get_window (WindowHandle)
visualize_object_model_3d (WindowHandle, ObjectModel3D, [], [], ['color_attrib','lut','disp_pose'], ['coord_z','color1','true'], [], [], [], PoseOut)

在这里插入图片描述

5.保存点云

这里修改你要保存的路径(savePath)和格式(ply_binary),可选的保存格式还有“om3,dxf,off,ply,obj,stl,stl_binary,stl_asicii”。

savePath:='C:/pointCloud.ply'
write_object_model_3d (ObjectModel3D, 'ply_binary',savePath, [], [])

完整代码:

savePath:='E:/pointCloud.ply'
resolutionX:=0.07
resolutionY:=0.07
dev_close_window ()
dev_open_file_dialog ('read_image', 'default', 'default', Selection)
read_image (ImageZoomed, Selection)
mean_image (ImageZoomed, ImageMean, 9, 9)
threshold (ImageZoomed, Region2, -10, 1000)
get_region_points (Region2, Rows, Columns)
get_grayval (ImageZoomed, Rows, Columns,z)
x:=Columns*resolutionX
y:=Rows *resolutionY
gen_object_model_3d_from_points(x, y, z, ObjectModel3D)
dev_get_window (WindowHandle)
visualize_object_model_3d (WindowHandle, ObjectModel3D, [], [], ['color_attrib','lut','disp_pose'], ['coord_z','color1','true'], [], [], [], PoseOut)
write_object_model_3d (ObjectModel3D, 'ply_binary', 'savePath', [], [])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Long-Giraffe

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

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

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

打赏作者

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

抵扣说明:

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

余额充值