设计的架构通过基于特征和关键点拼接两个视频输入来生成具有更宽视野的视频。  架构经过优化,可以实时生成输出。

一、算法

下图说明了描述算法每个步骤的系统框图

该系统大致可以分为三个子系统:

* 预处理

* 基于 SIFT 的特征提取

* 框架拼接

(1) 预处理

系统的输入视频流为 8 位 RGB 格式。输入的 8 位图像如图所示。视频流的每个单独帧将具有对应于红色、绿色和蓝色的三个通道。视频帧中的颜色信息不会增强特征检测。此外,与单通道 8 位图像相比,3 通道 8 位图像的计算需要更多时间。因此,RGB 视频帧被转换为 8 位灰度图像。生成的灰度图像噪声更小,阴影细节更多,计算效率更高,如下图所示。

(2)基于SIFT的特征提取

使用SIFT算法从灰度图像中提取特征。 SIFT算法可以分为两个主要步骤:

* 关键点检测

SIFT 操作从输入图像与不同高斯滤波器的离散卷积开始。高斯滤波器是一种广泛使用的图像平滑算法,定义为:

上式中,G为(x,y)点的高斯核,σ为高斯参数。使用较大的 σ 值会对图像产生更大的平滑效果。图像与高斯核的离散卷积生成具有较少噪声和较少细节的图像。在 SIFT 中,高斯核的离散卷积是用四个不同的 σ 值完成的。逐渐增大的 σ 值用于生成一组模糊图像或八度音阶(意思频率减半,低频部分对应灰度图中变化平缓的部分,高频部分对应灰度图中变化剧烈的部分)。

对于给定的 σ 值,卷积核中所有系数的总和应该等于 1。因此,核的大小随着 σ 值的增加而增加。

一旦生成了八度音阶,就会根据八度音阶中的四个图像构建一个 DoG 空间。 DoG 代表高斯差分。DoG 是高斯拉普拉斯算子 (LoG) 的计算效率非常高的近似值。DoG 空间是通过逐像素计算两个相邻高斯尺度图像之间的差异来构建的。八度音阶中四个图像的DoG空间将具有三个级别。

通过查找局部最大值或最小值,从 DoG 空间中提取关键点。如果一个像素是由顶层 9 个像素、中间层 8 个像素和底层 9 个像素组成的 26 像素邻域内的局部最大值或最小值,则该像素被认为是关键点。

* 描述符生成

关键点描述符是特定关键点的唯一标识符。 SIFT 使用关键点的梯度幅度和方向作为描述符的基础。 一个点的梯度大小和方向可以通过图像与 Sobel 滤波器的离散卷积来计算。

为了生成关键点描述符,计算每个关键点周围 16x16 窗口内每个点的梯度幅度和方向。 16x16 窗口的梯度幅度与高斯核卷积。将每个 4x4 单元格中的梯度幅度组合起来,使 16x16 窗口减少到 4x4 窗口和 16 个梯度方向。最后,这 16 个梯度方向被转移到 8 个 bin 中。因此,构建了一个 128 个元素的向量,作为关键点描述符。

(3) 框架拼接

框架拼接是将两个帧组合成单个图像的过程。框架拼接分两步完成:

① 关键点匹配

比较来自两个相机传感器的视频帧中关键点的关键点描述符。如果两个关键点(每个相机传感器一个)的关键点描述符之间的差异低于误差阈值,则将它们视为关键点对。将它们的关键点描述符之间差异最小的关键点对作为参考关键点。

②图像混合

加权平均方法用于将两个帧混合成单个图像。重叠区域的像素值等于两帧像素的加权平均值。根据重叠像素和相应帧的边界之间的距离选择权重。

二、程序顶层设计

顶层架构的框图如下图所示。

顶层设计分为五个阶段:

1.预处理阶段

为了模拟相机传感器的工作,使用了 image.v 和 image2.v,它们分别输入对应于左和右相机传感器的图像。 RWM_1.v 是一个读写存储器,用于存储 8 位 RGB 图像。 WRITE 模式时,RGB 图像像素数据写入内存。 存储完所有像素值后,将存储器置于 READ 模式。 在 READ 模式下,每个像素值从内存中顺序读取.

2.过滤阶段

3. 关键点阶段

4.关键点匹配阶段

5.帧混合阶段

基于FPGA的视频图像拼接融合(附源码)。相关推荐

  1. [开源项目]基于FPGA的视频图像拼接融合

    基于FPGA的视频图像拼接融合 本项目简单来说,就是实时生成视频全景图,该架构经过优化,可以实时视频输出. 算法 下图说明了描述算法每个步骤的系统框图 该系统大致可以分为三个子系统: 预处理 基于 S ...

  2. 源码系列:基于FPGA的PS2通信电路设计(附源码)

    今天给大侠带来基于FPGA的PS2通信电路设计,附源码,获取源码,请在"FPGA技术江湖"公众号内回复"PS2源码",可获取源码文件.话不多说,上货. 设计背景 ...

  3. 基于FPGA 以太网gmii_to_rgmii模块编写 附源码

    笔者使用的开发板是米联客zynq UitraScale+ xczu4ev-sfvc784-2-i开发板进行测试 由于米联客协议族源码不开源,自己写了一个简易的以太网接口转换模块只支持1000M速率. ...

  4. 基于 FPGA Vivado 信号发生器设计(附源工程)

    今天给大侠带来基于 FPGA Vivado 信号发生器设计,开发板实现使用的是Digilent basys 3,如有想要入手 basys 3 开发板的,可以联系牛总:18511371833.话不多说, ...

  5. python 开发视频播放网站_python开发微电影视频网站教程附源码

    做为一个合格的Pythoner,只掌握一个框架是不够,如果你有过其它Python框架(例如django)的使用经验,对比不同框架的特性来学习,你将收获更多 当前信息若含有黄赌毒等违法违规不良内容,请点 ...

  6. 基于Simulink雷达系统建模仿真(附源码)

    目录 一.系统架构 二.运行结果 2.1示例模拟 2.2 天线增益/方向的影响 2.3 接收器 LO 上的相位噪声使能 2.4 相位噪声的影响 三.源码 此示例显示如何设置由发射器.带目标的信道和接收 ...

  7. 基于Simulink宽带单基地雷达系统仿真(附源码)

    目录 一.探索示例 1.1 收发器 1.2 信号处理子系统 1.3 渠道 1.4 目标子系统 二.结果和显示 三.总结 四.程序 本示例演示如何仿真宽带雷达系统.当雷达系统的带宽超过系统中心频率的5% ...

  8. python3网络爬虫--爬取b站用户投稿视频信息(附源码)

    文章目录 一.准备工作 1.工具 二.思路 1.整体思路 2.爬虫思路 三.分析网页 1.分析数据加载方式 2.分词接口url 3.分析用户名(mid) 四.撰写爬虫 五.得到数据 六.总结 上次写了 ...

  9. 基于 FPGA Vivado 示波器设计(附源工程)

    今天给大侠带来基于 FPGA Vivado 示波器设计,开发板实现使用的是Digilent basys 3,如有想要入手 basys 3 开发板的,可以联系牛总:18511371833.话不多说,上货 ...

最新文章

  1. 某程序员吐槽清华北大不值钱了!过去清北毕业生去企业上班就是丢人现眼!现在互联网基层员工一堆清北人!清北怎么混成这样了?...
  2. 用JavaScript fetch API取数据遇到CORS policy问题
  3. PIC32单片机harmony开发环境 - i2c例程和代码分析
  4. vscode 遇到的迷之bug nvm is not compatible with the npm config prefix
  5. 从static变量导出问题解析 __declspec(dllexport) 和 __declspec(dllimport)的作用
  6. 【Level 08】U06 Good Feeling L1 End-of-season game
  7. Apache Flink Meetup · 北京站,1.13 新版本 x 互娱实践分享的开发者盛筵!
  8. 前端数据可视化—Echart——笔记整理
  9. 模电笔记3 三极管 光电三极管
  10. 关于骨骼(Skeleton)、绑定(Rigging)、蒙皮(Skinning)、刷权重(Weight Painting)那些事儿(9月3日 更新)
  11. 1. 物理内存初始化-linux4.0
  12. problem: ERROR cluster.YarnClientSchedulerBackend: Yarn application has already exited with state
  13. Biotin-PEG-NH2 生物素PEG氨基
  14. Word2010下划线不显示
  15. Hadoop集群读写性能测试以及MR测试
  16. 蓝桥杯单片机学习记录(8)(PWM脉宽调制)
  17. Linux达人养成计划I详细笔记(二)Linux分区与安装
  18. flask----继承和bock
  19. 有瓶颈设备的多级生产计划问题
  20. 从人工客服到人机协同,容联云用AI重塑联络中心

热门文章

  1. go用函数字符串名调用函数
  2. 方块 游戏界面java_JAva 判断方块游戏清除方法
  3. 春节微信刷屏的拜年兔,幕后是卑职献祭掉的头发
  4. 主板的芯片和插槽介绍
  5. 基础算法优化——Fast Modular Multiplication
  6. 软件单元测试要点的一些理解
  7. python 文件夹下所有文件_使用Python遍历文件夹下所有文件(包所有含子文件夹)...
  8. Sentieon软件应用之浅层测序分析
  9. Scratch软件编程等级考试四级——20200620
  10. JavaScript设计模式——工厂模式