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(仪酷智能),我们下篇文章见~

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

目录
相关文章
|
26天前
|
人工智能 小程序 前端开发
【一步步开发AI运动小程序】六、人体骨骼图绘制
随着AI技术的发展,阿里体育等公司推出的AI运动APP如“乐动力”、“天天跳绳”等,使云上运动会、线上健身等概念广受欢迎。本文将引导您从零开始,利用“云智AI运动识别小程序插件”,在小程序中实现类似功能,包括人体骨骼图的绘制原理及其实现代码,确保骨骼图与人体图像精准重合。下篇将继续介绍运动分析方法。
|
5月前
|
数据采集 监控 算法
LabVIEW与3D相机开发高精度表面检测系统
LabVIEW与3D相机开发高精度表面检测系统
65 2
|
4月前
|
计算机视觉
在yolov5项目中如何使用自带摄像机不用网络摄像机进行实时检测?
这篇文章讨论了在yolov5项目中,如何避免使用网络摄像机而改用自带的本地摄像机进行实时目标检测,并提供了解决摄像头打开错误的具体步骤和代码示例。
在yolov5项目中如何使用自带摄像机不用网络摄像机进行实时检测?
|
5月前
|
存储 监控 算法
粒子辐照环境中相机镜头防护及LabVIEW图像处理注意事项
粒子辐照环境中相机镜头防护及LabVIEW图像处理注意事项
61 1
|
监控 数据可视化 算法
三维可视化神器带来无限可能,原来三维场景也可以如此轻松实现
三维可视化神器带来无限可能,原来三维场景也可以如此轻松实现
134 1
三维可视化神器带来无限可能,原来三维场景也可以如此轻松实现
|
5月前
|
传感器 编解码 监控
LabVIEW图像采集处理项目中相机选择与应用
LabVIEW图像采集处理项目中相机选择与应用
44 0
|
机器学习/深度学习 人工智能 算法
LabVIEW深度相机与三维定位实战(三)
立体匹配与ACV算法理论知识
144 0
LabVIEW深度相机与三维定位实战(三)
|
7月前
|
编解码 编译器 网络安全
LabVIEW使用视觉采集软件从GigE视觉相机进行采集 1
LabVIEW使用视觉采集软件从GigE视觉相机进行采集 1
226 0
|
7月前
|
编解码 算法 图形学
LabVIEW中调整图像大小
LabVIEW中调整图像大小
90 0
|
定位技术 内存技术
GIS空间分析 三维分析4 制作飞行动画
本文中,我们利用ArcScene软件用3种方法制作了飞行动画
326 0