使用面阵相机进行传送带视频流的拼接

19 篇文章 4 订阅
5 篇文章 0 订阅

注:根据实验室规定,本文所有用到的方法,只讲原理不贴代码,所有照片,必要的地方马赛克处理。

背景

在工业应用中,使用面阵相机识别传送带上的物体,当要识别的目标的最小包围矩形(不是最小包围旋转矩形)小于相机视野时,可以进行后续处理。但是当要识别的目标很大,比如超长的物体,如果还使用面阵相机,有两种办法,一种是硬件改进,另一种是软件改进。硬件改进就是在传送带运动方向均布多个面阵相机,通过同步触发同时采集图片,然后根据事先标定好的相机相对位置进行拼接。软件改进需要对传送带上的视频流进行处理,拼接出比较大的视野。

解决方法

一般在工业上会采用硬件改进的方法。当需要提高视觉识别的精度或者范围时,会采用多个相机图像进行拼接的办法。但是在实验室,我们可以尝试使用软件的方法来解决。
解决这个问题的关键是图片的拼接,而图像的拼接需要图像中有明显的特征点。而目标上是否有特征点我们不能控制,所以需要事先在传送带上布置特征点。
在这里插入图片描述
传送带上只有平移,所有对于图像拼接的3个参数x,y和θ,只需要计算x,如果相机成像平面和传送带平面不平行,需要先做一个透视变换。
特征的设计及摆放考虑如下:容易识别,编码容量不需太大,循环布置。
在这里插入图片描述

原始视频

以下是在传送带运动时采集到的视频:
在这里插入图片描述

拼接结果

在这里插入图片描述

算法原理

  • 第一步:从视频流中提取一帧图像,作为关键帧,转到第2步。
  • 第二步:提取下一帧,根据识别到靶标计算该帧图像和当前关键帧平移距离x1,如果x1约等于
    0.4倍的视频运动方向图像像素,则把这一帧作为次关键帧,转到第三步,否则重复第二步。
  • 第三步:提取下一帧,根据识别到靶标计算该帧图像和当前次关键帧平移距离x2,如果x1+x2 约等于
    0.8倍的视频运动方向图像像素,则把当前帧作为新的关键帧,转到第二步,否则重复第三步。

在23步循环的时候,把所有关键帧按照顺序,根据当时的平移距离x1+x2进行拼接就得到一幅长图。当然也可以实时输出关键帧和对应的x1+x2。这样,在高层算法开发时,可以认为这是一个帧触发信号有点波动(由于帧率和传送带运动速度的不确定性,x1+x2不是固定值)的线阵相机。这也相当于做了一个中间层,屏蔽了底层的硬件细节,使得原本为线阵相机开发的算法也可以用在面阵相机上。

源代码

暂不开源

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仟人斩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值