图像拼接操作是指将具有重叠区域的两幅 rgb 图像和两幅深度图像分别拼接成一幅 rgb 图像和一幅深度图像。所谓基于相机空间位置的图像拼接方法,就是将相机按照指定的方式安装,然后根据图像中每个像素的空间坐标进行拼接。该方法是应用在深度图像中,结合 rgb 图像与深度图像的对齐操作,也可以用于 rgb 图像的拼接。
基于相机空间位置的图像拼接方法的重点在于相机的安装方式,具体安装要求如下:第一,所安装的相机在垂直方向需要与所拍摄区域保持平行。第二,所安装的相机在水平方向需要前后、左右保持平行。下图展示的是安装两个 rgb-d 相机的示意图,垂直方向安装示意图如下图a 所示,水平方向安装示意图如下图b 所示。在安装好相机之后,需要确定相机的安装高度和相机之间的间距。
本文在设计单件分离系统时使用了两个 rgb-d 相机,对于两个 rgb-d 相机的深度图像拼接的具体步骤如下: 1. 处理两幅深度图像中的背景像素点。依次遍历两幅深度图像中的每个像素点,像素值为 65535 的像素点即为背景像素点,需要将其像素值设置为相机安装的高度。
2. 计算深度图像中的像素点对应到相机坐标系下的空间坐标。根据前面中的介绍,像素坐标系与相机坐标系之间的转换公式如下:
3. 根据相机坐标系下的空间坐标对两幅深度图像进行拼接。遍历深度图像中的每个像素点,根据其相机坐标系下的空间坐标,对两幅深度图像以每行像素点“行满”的方式进行拼接。具体步骤如下:
a) 使用 opencv 创建存储拼接结果的矩阵,宽度与单个深度图像的宽度一样,高度是单个深度图像的高度的两倍。用 h 表示存储拼接结果矩阵的高度。
b) 将两个 rgb-d 相机拍摄范围重叠的部分平分为两个部分,左边部分记作 leftpart,右边部分记作 rightpart。
c) 先按行遍历图中左边 rgb-d 相机采取的深度图像。
d) 根据其每个像素点的空间坐标,若该像素点的空间位置在 rightpart中,则把该像素点丢弃;若该像素点的空间位置不在 rightpart 中,则把该像素点及深度值填入存储拼接结果的矩阵中。每行处理完之后,若该行中的每个点都填入了存储拼接结果的矩阵中,则拼接结果的矩阵的行高 h 加 1。
e) 接着按行遍历图右边 rgb-d 相机采取的深度图像。
f) 根据其每个像素点的空间坐标,若该像素点的空间位置在 leftpart中,则把该像素点丢弃;若该像素点的空间位置不在 leftpart 中,则把该像素点及深度值填入存储拼接结果的矩阵中。每行处理完之后,若该行中的每个点都填入了存储拼接结果的矩阵中,则拼接结果的矩阵的行高 h 加 1。
g) 根据存储拼接结果的矩阵的高度 h 对矩阵进行裁剪。
下图是基于相机空间位置的深度图像拼接结果,为了方便展示对齐结果,根据相机的高度,将深度图像转换为灰度图像。左边的两幅图像分别为上下两个 rgb-d 相机所获取的图像,右边的图像为拼接之后的结果。基于相机空间位置的图像拼接方法用于深度图像拼接时只需要 5ms 左右,其拼接速度和效果都是可以应用在单件分离系统中的。
在对两幅深度图像进行拼接的过程中也可以执行 rgb 图像与深度图像对齐操作,这样也可以对两幅 rgb 图像进行拼接。下图是基于相机空间位置的rgb 图像拼接结果,虽然拼接效果不够完美,但是其拼接速度在 30ms 以内,该方法已经应用在单件分离系统中。
机械臂的制作教程
资阳携手安费诺,目标打造全国首个电气连接器产业基地
火星高科火星舱多节点服务器入围成功 助力中国电信转型3.0
减速机维修流程及步骤
智能工厂中人工智能应用场景
浅谈相机空间位置RGB图像的拼接步骤分享
移动电源什么电池比较好,双十二移动电源排行榜
怎么通过高低电平控制继电器
欧普消防创新推出“欧普北极星”系统,以智能疏散引领未来
仪器设备工业内窥镜设计如何做到无损检测
传高通开始内测骁龙895 支持徕卡影像技术
多功能电磁游戏摇杆手柄采用模拟输出线性霍尔
高UPH是AlwayStone AS9375的主要优势
机器人在哪些场景中具有应用价值
华为将与台积电合作,麒麟970处理器采用10纳米工艺将在明年的华为新机P10上首发
负离子空气净化器对人体有害吗_浅谈负离子发生器的副作用
Arm公司发布兼具存储和数据处理能力的Cortex-R82芯片
全球5G发展的趋势怎样
FORESEE “G”系列SSD再添主流平台互认证,聚焦国内PC市场
沃尔沃利用无人机作自动清洁机器人的眼睛