LabVIEW实现深度相机与三维定位实战(一)

简介: LabVIEW实现深度相机与三维定位实战(一)

‍‍🏡博客主页: virobotics(仪酷智能):LabVIEW深度学习、人工智能博主

🍻本文由virobotics(仪酷智能)原创首发

🥳欢迎大家关注✌点赞👍收藏⭐留言📝

前言

Hello,大家好,我是virobotics(仪酷智能),一个深耕于LabVIEW和人工智能领域的开发工程师。

今天给大家分享在LabVIEW中实现深度相机与三维定位相关理论知识。


一、多种深度相机及原理

1.双目摄像机:获取左右两个RGB图像,通过机器视觉算法,进行“同源点”匹配,从而得到“视差”,计算深度。
image.png

2.双目+结构光相机:在双目相机的基础上,主动向物体投射编码激光,并接收发射。这样可以更快、更准确地进行匹配。(因为左右画面中,相同的反射点,就是同源点)经常用于3D人脸识别。
image.png

3.ToF深度相机:ToF(Time of flight),即飞行时间法,是一种深度测量的方法,精度为厘米级。其测距原理是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。
image.png


二、环境搭建

2.1 部署本项目时所用环境

  • 操作系统:Windows10
  • python:3.6及以上
  • LabVIEW:2018及以上 64位版本
  • AI视觉工具包:techforce_lib_opencv_cpu-1.0.0.98.vip
  • onnx工具包:virobotics_lib_onnx_cuda_tensorrt-1.0.0.16.vip【1.0.0.16及以上版本】

2.2 LabVIEW工具包下载及安装


三、双目相机采集图像及原理

3.1 双目相机结构

双目相机,是由两个相对位置固定的单目摄像头构成。通常,两个摄像头位于同一个拍摄平面,且光轴(Z轴)平行。左右摄像头中心连线称为“基线”。基线与X轴平行,如下图。两个摄像头,除了安装位置不一样,其余相机参数(焦距、分辨率、视角范围等等)均应相同。
image.png

3.2 双目图像采集

任意选取一款市面上流行的“USB免驱”双目摄像机进行实验。其他参数,如:基线长度、镜头焦距、像素数等,请根据实际应用场景进行选型。

本实验以深圳金乾象生产的 KS4A418-D 型号双目相机为例。其基线在38~167mm之间可调。实验前,先固定一种基线长度。
image.png

1、第一步: 通过USB数据线,将双目摄像机连到电脑的任意一个USB接口。
2、第二步:打开“范例\StereoVideo.vi”
image.png

3、第三步:切换到程序框图,修改cameraID为双目相机对应的ID号。
通常电脑自带的摄像头ID为0,其他外接摄像头ID依次+1。如果电脑没有自带摄像头,那么外接的双目相机的ID就是0。
image.png

4、第四步:设置分辨率。通常单目摄像头的分辨率的宽高比为16:9或4:3,那么对应的双目分辨率的宽高比应为32:9或8:3,即宽度增加一倍。 为了方便与后面章节的ACVNet模型对接,这里推荐使用分辨率640*240。

(本实验所用的双目摄像头,可以根据用户设置的分辨率,自动切换单目和双目模式。单目模式只采集Left摄像头画面,双目模式采集Left和Right摄像头拼接的画面)

5、第五步:切换到前面板,运行VI。可以观察到采集的双目画面。VI通过一定的算法,将双目画面分离成Left和Right两张图。(有些型号的双目相机,画面是左右颠倒的,可以将Switch设为“左右交换”予以修正)
image.png

6、第六步:点击“OK”,可以将当前的Left和Right画面保存成图片文件。点击“Stop”退出程序。
image.png


四、项目源码

如需源码,请查看:https://blog.csdn.net/virobotics/article/details/132013507


总结

以上就是今天要给大家分享的内容,希望对大家有用。如有笔误,还请各位及时指正。后续还会继续给各位朋友分享其他案例,欢迎大家关注博主。我是virobotics(仪酷智能),我们下篇文章见~

**如果文章对你有帮助,欢迎✌关注、👍点赞、✌收藏

目录
相关文章
|
存储 传感器 编解码
turtlebot3 在gazebo仿真下 通过 gmapping slam 建立二维平面地图——全过程
turtlebot3 在gazebo仿真下 通过 gmapping slam 建立二维平面地图——全过程
turtlebot3 在gazebo仿真下 通过 gmapping slam 建立二维平面地图——全过程
|
1月前
|
数据采集 监控 算法
LabVIEW与3D相机开发高精度表面检测系统
LabVIEW与3D相机开发高精度表面检测系统
25 2
|
1月前
|
传感器 编解码 监控
LabVIEW图像采集处理项目中相机选择与应用
LabVIEW图像采集处理项目中相机选择与应用
16 0
|
3月前
|
机器学习/深度学习 存储 数据采集
智能光栅光片显微成像技术的LabVIEW解决方案
智能光栅光片显微成像技术的LabVIEW解决方案
28 4
|
3月前
|
传感器 算法 计算机视觉
LabVIEW开发图像采集和图像处理程序
LabVIEW开发图像采集和图像处理程序
40 2
|
3月前
|
编解码 算法 图形学
LabVIEW中调整图像大小
LabVIEW中调整图像大小
36 0
|
3月前
|
编解码 编译器 网络安全
LabVIEW使用视觉采集软件从GigE视觉相机进行采集 1
LabVIEW使用视觉采集软件从GigE视觉相机进行采集 1
100 0
|
12月前
|
机器学习/深度学习 人工智能 算法
LabVIEW深度相机与三维定位实战(三)
立体匹配与ACV算法理论知识
107 0
LabVIEW深度相机与三维定位实战(三)
|
算法
基于双目相机拍摄图像的深度信息提取和目标测距matlab仿真
基于双目相机拍摄图像的深度信息提取和目标测距matlab仿真
294 0
基于双目相机拍摄图像的深度信息提取和目标测距matlab仿真
|
12月前
|
机器学习/深度学习 传感器 编解码
LabVIEW实现深度相机与三维定位实战(二)
LabVIEW实现深度相机与三维定位实战(二)
173 0
LabVIEW实现深度相机与三维定位实战(二)