51Halcon机器视觉

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 125|回复: 0
收起左侧

[相机综合] 线阵相机取点云出问题了

[复制链接]

该用户从未签到

1

主题

1

帖子

5

积分

Rank: 1

积分
5
jasiya1 发表于 2020-7-16 22:17:40 | 显示全部楼层 |阅读模式
19视觉币
我换成线阵相机后,取的点云是横向排列的了。变成一条点云图像了。
代码如下:
dev_close_window ()
dev_open_window(0,0,600,400,'black',WindowHandle1)
dev_set_draw ('margin') //设置轮廓
dev_set_line_width (3) //设置线宽
dev_set_color ('green') //设置颜色为绿色
dev_set_lut ('default') //
* 设置相机内外参,光平面位姿,移动位姿

CamParam := [0.00922382,-1194.63,2.67343e-006,3.2e-006,396.822,244.077,720,480]
Campose  :=[0.000185546,0.00743155,0.0657843,317.33,355.751,267.007,0]
LightplanePose :=[0.00817876, 0.0173276, -0.000317222, 179.997, 358.681, 360.0, 0]
MovementPose :=[0.0529332, 0.00642633, 0.0561776, 0, 0, 0, 0]
*建立sheetoflight模型,并设置参数
gen_rectangle1 (ProfileRegion,25.5, 1.1875, 310.833, 569.313)
dev_update_off()
create_sheet_of_light_model (ProfileRegion,['min_gray','num_profiles','ambiguity_solving'],[60,1450,'brightest'],SheetOfLightModelID)
set_sheet_of_light_param (SheetOfLightModelID, 'calibration', 'xyz') //将标定变形应用在不同的图像中

set_sheet_of_light_param (SheetOfLightModelID, 'scale', 'mm') //单位

set_sheet_of_light_param (SheetOfLightModelID, 'camera_parameter', CamParam) //相机内部参数

set_sheet_of_light_param (SheetOfLightModelID, 'camera_pose', Campose) //相机坐标系统

set_sheet_of_light_param (SheetOfLightModelID, 'lightplane_pose', LightplanePose) //相机姿态,如果与测的物体相同平面

set_sheet_of_light_param (SheetOfLightModelID, 'movement_pose', MovementPose) //移动姿态,移动过程中通常为大地坐标
*连续读图,计算中心并保存
i:=1
open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[1] AV TO USB2.0', 0, -1, AcqHandle)
set_framegrabber_param (AcqHandle,'gamma',7)

dev_update_off()
grab_image_start (AcqHandle, -1)
while (i<1450)
    grab_image_async (Image, AcqHandle, -1)
    measure_profile_sheet_of_light(Image,SheetOfLightModelID,[])
    dev_display (Image)
    dev_display(ProfileRegion)
    i:=i+1
endwhile
close_framegrabber (AcqHandle)
* 获取片光图像

get_sheet_of_light_result (Disparity, SheetOfLightModelID, 'disparity') //返回片光深度距离

get_sheet_of_light_result (X, SheetOfLightModelID, 'x') //返回片光x数据

get_sheet_of_light_result (Y, SheetOfLightModelID, 'y') //返回片光y数据

get_sheet_of_light_result (Z, SheetOfLightModelID, 'z') //返回片光z数据

get_sheet_of_light_result_object_model_3d (SheetOfLightModelID, ObjectModel3DID) //返回片光3D模型数据

clear_sheet_of_light_model (SheetOfLightModelID) //清除指定片光模型

*

* 显示视差图像

get_image_size (Disparity, Width, Height) //获取图像大小

dev_set_window_extents (0, 0, Width, Height) //调整大小

dev_set_lut ('temperature') //

set_display_font (WindowHandle1, 16, 'mono', 'true', 'false') //设置字体

dev_clear_window () //清除窗体

dev_display (Disparity)

disp_message (WindowHandle1, '重建片光生产的视差图像', 'window', -1, -1, 'black', 'true') //显示信息

disp_continue_message (WindowHandle1, 'black', 'true') //显示暂停信息

stop () //暂停

*

* 显示Z坐标

dev_close_window () //关闭窗体

dev_open_window (Height + 10, 0, Width * .5, Height * .5, 'black', WindowHandle3) //打开窗体3

set_display_font (WindowHandle3, 16, 'mono', 'true', 'false')//设置字体

dev_display (Z) //显示Z信息

disp_message (WindowHandle3, '标定的 Z 坐标', 'window', -1, -1, 'black', 'true') //显示信息

*

* 显示Y坐标

dev_open_window ((Height + 10) * .5, 0, Width * .5, Height * .5, 'black', WindowHandle2) //打开窗体2

set_display_font (WindowHandle2, 16, 'mono', 'true', 'false')//设置字体

dev_display (Y)//显示Z信息

disp_message (WindowHandle2, '标定的 Y 坐标', 'window', -1, -1, 'black', 'true')

*

* 显示X坐标

dev_open_window (0, 0, Width * .5, Height * .5, 'black', WindowHandle1) //打开窗体1

dev_display (X)//显示Z信息

dev_set_lut ('default')

set_display_font (WindowHandle1, 16, 'mono', 'true', 'false')//设置字体

disp_message (WindowHandle1, '标定的 X 坐标', 'window', -1, -1, 'black', 'true') //显示信息

disp_continue_message (WindowHandle3, 'black', 'true') //显示暂停信息

stop () //暂停
get_object_model_3d_params(ObjectModel3DID,'point_coord_z',zvalue)
get_object_model_3d_params(ObjectModel3DID,'point_coord_y',yvalue)
get_image_size(Z,Width1,Height1)


*

* Display the 3d object model

CameraParam1 := [0.00922382,-1194.63,2.67343e-006,3.2e-006,396.822,244.077,720,480] //相机内部参数

Instructions[0] := '旋转: Left 鼠标左键'

Instructions[1] := '缩放: Shift + 鼠标左键'

Instructions[2] := '移动Move: Ctrl + 鼠标左键'

PoseIn := [0,-10,300,-30,0,-30,0]

dev_close_window () //关闭窗体2

dev_close_window () //关闭窗体3

dev_close_window () //关闭窗体12

dev_open_window (0, 0, CameraParam1[6], CameraParam1[7], 'black', WindowHandle) //打开新窗体

set_display_font (WindowHandle, 16, 'mono', 'true', 'false')//设置字体

visualize_object_model_3d (WindowHandle,ObjectModel3DID ,CameraParam1 , PoseIn, 'color', 'blue', \
                           '重建', '', Instructions, PoseOut)//显示信息

write_object_model_3d(ObjectModel3DID,'om3','D:/3d',[],[])


IMG_20200716_214100.jpg

1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

您需要登录后才可以回帖 会员登录 | 会员注册

本版积分规则

建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站

51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用

申请友链| 小黑屋| 手机版| Archiver| 有问题需要咨询站长?|  

CopyRight © 2015-2020 51Halcon机器视觉. Version X3.4.

粤ICP备15095995号-2 粤公网安备44030602000670号

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