Halcon 连接 pointgrey 双目相机

本文介绍了如何通过Halcon连接并操作Pointgrey双目相机。首先,需安装Firepackage驱动来为1394卡安装驱动。然后,在Halcon中编写代码,通过调整相机的pan参数交替获取左右图像。尽管理想方法是利用raw16和format7 mod3设置,但目前采用的是临时方案。最后,展示了一个持续抓取和处理图像的循环过程。

1、安装Firepackage驱动,该驱动是halcon的1394驱动,安装完毕后,单机安装程序后的installdriver.exe,为1394卡安装驱动

2、在halcon中加入如下代码,是通过修改相机的pan参数来获取左右图像的,理想的方法是通过raw16,format7 mod3的设置来获取,但暂时还没有找到实现方式,只能暂时这样。


open_framegrabber ('1394IIDC', 1, 1, 0, 0, 0, 0, 'progressive', 8, 'rgb', -1, 'false', 'default', '00B09D0100AD58AC', 0, -1, AcqHandle)
set_framegrabber_param (AcqHandle, 'bits_per_channel', 8)
set_framegrabber_param (AcqHandle, 'color_space', 'rgb')
set_framegrabber_param (AcqHandle, 'camera_type', '7:0:1')
set_framegrabber_param (AcqHandle, 'horizontal_resolution', 1024)
set_framegrabber_param (AcqHandle, 'horizontal_offset', 0)
set_framegrabber_param (AcqHandle, 'vertical_offset', 0)
set_framegrabber_param (AcqHandle, 'start_row', 0)

 


grab_image_start (AcqHandle, -1)
while (true)
    set_framegrabber_param (AcqHandle, 'pan', 1)
    grab_image_async (Image, AcqHandle, -1)
    <

Halcon中实现双目相机双目合一可遵循以下步骤: 1. **双目相机标定**:使用`binocular_calibration`算子完成双目标定,输出两个相机的内参(`CamParamL`, `CamParamR`)、标定板分别与左右相机之间的位姿关系(`NFinalPoseL`, `NFinalPoseR`)、右相机相对于左相机的位姿关系(`cLPcR`)以及标定的平均误差(`Errors`)。 ```python binocular_calibration (X, Y, Z, RowsL, ColsL, RowsR, ColsR, StartCamParL, StartCamParR, StartPosesL, StartPosesR, 'all', CamParamL, CamParamR, NFinalPoseL, NFinalPoseR, cLPcR, Errors) ``` 2. **级线校正**:完成级线校正后,得到`MapL`和`MapR`两个数据,用于后续效果展示。 ```python gen_binocular_rectification_map (MapL, MapR, CamParamL, CamParamR, cLPcR, 1, 'viewing_direction', 'bilinear', RectCamParL, RectCamParR, CamPoseRectL, CamPoseRectR, RectLPosRectR) ``` 3. **读取图片并进行级线校正验证**:读取之前拍摄的一组图片,对其进行级线校正。 ```python read_image (ImageL, 'D:/graduate student/halcon/halcon study/example/2024-1-21日开始halcon学习/第九章 相机标定/calib_l_01.png') read_image (ImageR, 'D:/graduate student/halcon/halcon study/example/2024-1-21日开始halcon学习/第九章 相机标定/calib_r_01.png') map_image (ImageL, MapL, ImageRectifiedL) map_image (ImageR, MapR, ImageRectifiedR) ``` 4. **检查校正图像上的极线约束并可视化结果**:检查校正图像上的极线约束,确保特征点行坐标之间的差异很小,并可视化结果。 ```python check_epipolar_constraint (ImageRectifiedL, ImageRectifiedR, RectCamParL, RectCamParR, WindowHandle1, WindowHandle2, CaltabFile, EpipolarError) ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值