当前位置: 首页 > news >正文

中国招标采购导航网宁波seo搜索引擎优化公司

中国招标采购导航网,宁波seo搜索引擎优化公司,公司网页设计模板图片,潍坊网站建设求职简历目录 1、前言免责声明 2、相关方案推荐FPGA图像缩放方案推荐FPGA视频拼接叠加融合方案推荐紫光同创FPGA图像采集方案推荐紫光同创FPGA图像缩放方案推荐紫光同创FPGA视频拼接方案推荐 3、设计思路框架为什么选择OV7725摄像头?视频源选择OV7725摄像头配置及采集动态彩…

目录

  • 1、前言
    • 免责声明
  • 2、相关方案推荐
    • FPGA图像缩放方案推荐
    • FPGA视频拼接叠加融合方案推荐
    • 紫光同创FPGA图像采集方案推荐
    • 紫光同创FPGA图像缩放方案推荐
    • 紫光同创FPGA视频拼接方案推荐
  • 3、设计思路框架
    • 为什么选择OV7725摄像头?
    • 视频源选择
    • OV7725摄像头配置及采集
    • 动态彩条
    • 缓冲FIFO
    • 图像缩放模块详解
      • 设计框图
      • 代码框图
      • 2种插值算法的整合与选择
    • HDMA图像缓存
      • 输入输出视频
      • HDMA缓冲FIFO
      • HDMA控制模块
    • HDMI输出
  • 4、PDS工程详解
  • 5、上板调试验证并演示
    • 准备工作
    • 静态演示
    • 动态演示
  • 6、福利:工程源码获取

紫光同创FPGA 多路视频处理:图像缩放+视频拼接显示,OV7725采集,提供PDS工程源码和技术支持

1、前言

“苟利国家生死以,岂因祸福避趋之!”大洋彼岸的我优秀地下档员,敏锐地洞察到祖国的短板在于高精尖半导体的制造领域,于是本着为中华民族伟大复兴的中国梦贡献绵薄之力的初心,懂先生站在高略高度和长远角度谋划,宁愿背当代一世之骂名也要为祖国千秋万世谋,2018年7月,懂先生正式打响毛衣战,随后又使出恰勃纸战术,旨在为祖国先进制程半导体领域做出自主可控的战略推动;在此,请收下我一声谢谢啊!!!!!!

2019年初我刚出道时,还是Xilinx遥遥领先的时代(现在貌似也是),那时的国产FPGA还处于辣鸡段位,国产FPGA仰望Xilinx情不自禁道:你以为躲在这里就找不到你吗?没用的,你那样拉轰的男人,无论在哪里,都像黑夜里的萤火虫那样的鲜明、那样的出众,你那忧郁的眼神,稀嘘的胡渣子,神乎其技的刀法,还有那杯Dry martine,都深深的迷住了我。。。然而才短短4年,如今的国产FPGA属于百家争鸣、百花齐放、八仙过海、神仙打架、方兴未艾、得陇望蜀、友商都是XX的喜极而泣之局面,面对此情此景,不得不吟唱老人家的诗句:魏武挥鞭,东临碣石有遗篇,萧瑟秋风今又是,换了人间。。。
言归正传,目前对于国产FPGA的共识有以下几点:
1:性价比高,与同级别国外大厂芯片相比,价格相差几倍甚至十几倍;
2:自主可控,国产FPGA拥有完整自主知识产权的产业链,从芯片到相关EDA工具
3:响应迅速,FAE技术支持比较到位,及时解决开发过程中遇到的问题,毕竟中文数据手册。。
4:采购方便,产业链自主可控,采购便捷

没玩过图像缩放和视频拼接都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。本文使用紫光同创的PGL22G-6MBG324 FPGA实现图像缩放多路视频拼接方案;视频源有两种,分别对应开发者手里有没有摄像头的情况,一种是使用廉价的OV7725摄像头模组;如果你得手里没有摄像头,或者你得开发板没有摄像头接口,则可使用代码内部生成的动态彩条模拟摄像头视频;视频源的选择通过代码顶层的`define宏定义进行,上电默认使用OV7725作为视频源,输入分辨率配置为640x480@60Hz;FPGA采集到输入视频后,使用纯verilog代码实现的图像缩放模块,将输入视频从640x480缩放为640x720的分辨率,之所以缩放为这个尺寸,是因为输出分辨率为1280x720,这样两路640x720视频做拼接,刚好可以而分屏占满整个屏幕输出,效果更为美观。。。将图像数据复制一份,这样就有了两路一模一样的视频,用来模拟两路视频输入,如果你的手里有两个摄像头,则直接输入两路即可,原谅我太穷,买不起两个OV7725摄像头,只能这样模拟了。。。使用本人开发的HDMA视频缓存架构方案实现图像的乒乓缓存,不同的视频缓存与DDR3中不同的地址区域,读出视频时却一次性读完,从而达到视频拼接的输出效果;读出视频后,用纯verilog显示的HDMI输出模块送显示器显示即可;本设计提供1套Pango Design Suite 2021.4版本的工程源码

本博客详细描述了紫光同创FPGA 图像缩放多路视频拼接的设计方案,工程代码可综合编译上板调试,可直接项目移植,适用于在校学生、研究生项目开发,也适用于在职工程师做学习提升,可应用于医疗、军工等行业的高速接口或图像处理领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;

免责声明

本工程及其源码即有自己写的一部分,也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网等等),若大佬们觉得有所冒犯,请私信批评教育;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身原因用于商业用途所导致的法律问题,与本博客及博主无关,请谨慎使用。。。

2、相关方案推荐

本工程是图像缩放和视频拼接的整合版,在此之前,我分别推出过FPGA图像缩放方案和FPGA视频拼接方案,所以推荐如下:

FPGA图像缩放方案推荐

该方案使用纯verilog代码实现任意尺寸图像缩放,详细请参考我之前的博客,博客链接如下:
直接点击前往

FPGA视频拼接叠加融合方案推荐

我的主页目前有FPGA视频拼接叠加融合专栏,改专栏收录了我目前手里已有的FPGA视频拼接叠加融合方案,从实现方式分类有基于HSL实现的视频拼接、基于纯verilog代码实现的视频拼接;从应用上分为单路、2路、3路、4路、8路、16路视频拼接;视频缩放+拼接;视频融合叠加;从输入视频分类可分为OV5640摄像头视频拼接、SDI视频拼接、CameraLink视频拼接等等;以下是专栏地址:
点击直接前往

紫光同创FPGA图像采集方案推荐

FPGA图像采集是做图像处理的基础,FPGA图像采集显示的核心在于图像的DDR缓存,紫光同创FPGA自带DDR控制器IP,该IP带AXI4-FULL从机接口,所以对于图像的DDR缓存,就相对简单了,我之前专门出过一篇紫光同创FPGA采集OV7725摄像头HDMI显示的博客,感兴趣的可以前往查看,以下是博客地址:
点击直接前往

紫光同创FPGA图像缩放方案推荐

本设计使用紫光同创FPGA做图像的任意尺寸缩放,我之前专门出过一篇紫光同创FPGA图像缩放方案的博客,建议先仔细读读该博客,以下是博客地址:
点击直接前往

紫光同创FPGA视频拼接方案推荐

本设计使用紫光同创FPGA做视频拼接,我之前专门出过一篇紫光同创FPGA图像缩放方案的博客,建议先仔细读读该博客,以下是博客地址:
点击直接前往

3、设计思路框架

视频源有两种,分别对应开发者手里有没有摄像头的情况,一种是使用廉价的OV7725摄像头模组;如果你得手里没有摄像头,或者你得开发板没有摄像头接口,则可使用代码内部生成的动态彩条模拟摄像头视频;视频源的选择通过代码顶层的`define宏定义进行,上电默认使用OV7725作为视频源,输入分辨率配置为640x480@60Hz;FPGA采集到输入视频后,使用纯verilog代码实现的图像缩放模块,将输入视频从640x480缩放为640x720的分辨率,之所以缩放为这个尺寸,是因为输出分辨率为1280x720,这样两路640x720视频做拼接,刚好可以而分屏占满整个屏幕输出,效果更为美观。。。将图像数据复制一份,这样就有了两路一模一样的视频,用来模拟两路视频输入,如果你的手里有两个摄像头,则直接输入两路即可,原谅我太穷,买不起两个OV7725摄像头,只能这样模拟了。。。使用本人开发的HDMA视频缓存架构方案实现图像的乒乓缓存,不同的视频缓存与DDR3中不同的地址区域,读出视频时却一次性读完,从而达到视频拼接的输出效果;读出视频后,用纯verilog显示的HDMI输出模块送显示器显示即可;本设计提供1套Pango Design Suite 2021.4版本的工程源码

工程设计框图如下:
在这里插入图片描述

为什么选择OV7725摄像头?

紫光同创FPGA做图像缩放,理论上可以选择使用任何摄像头作为视频输入源,比如廉价的OV7725、OV5640等,但紫光同创的PGL22G-6MBG324 FPGA PLL无法输出742.5M的时钟,所以在开发板没有HDMI编码芯片的情况下,紫光同创的PGL22G-6MBG324 FPGA最大只能输出1280X720@60Hz的视频,如果使用OV5640,则不好做图像放大的试验,因为OV5640的输出分辨率就已经达到了1280X720;反观OV7725摄像头则很合适,因为OV7725摄像头输出分辨率为640X480@60Hz,可以做图像缩放的放大试验,放大到1280X720@60Hz,刚好达到紫光同创的PGL22G-6MBG324 FPGA的输出分辨率上线,也可以做做图像缩放的缩小试验;此外,OV7725摄像头也更便宜。。。

视频源选择

视频源有两种,分别对应开发者手里有没有摄像头的情况,一种是使用廉价的OV7725摄像头模组;如果你得手里没有摄像头,或者你得开发板没有摄像头接口,则可使用代码内部生成的动态彩条模拟摄像头视频;视频源的选择通过代码顶层的`define宏定义进行,上电默认使用OV7725作为视频源;视频源选择如下:
在这里插入图片描述
视频源选择逻辑代码部分如下:
在这里插入图片描述
选择逻辑如下:
当(注释) define COLOR_IN时,输入源视频是动态彩条;
当(不注释) define COLOR_IN时,输入源视频是OV7725;

OV7725摄像头配置及采集

OV7725摄像头需要i2c配置才能使用,需要将DVP接口的视频数据采集为RGB565或者RGB888格式的视频数据,这两部分均用verilog代码模块实现,代码位置如下:
在这里插入图片描述
其中摄像头配置为分辨率640x480;
摄像头采集模块支持RGB565和RGB888格式的视频输出,可由参数配置,如下:
在这里插入图片描述
RGB_TYPE=0输出本RGB565格式;
RGB_TYPE=1输出本RGB888格式;
设计选择RGB888格式;

动态彩条

动态彩条可配置为不同分辨率的视频,视频的边框宽度,动态移动方块的大小,移动速度等都可以参数化配置,以工程1为例,配置为辨率640x480,动态彩条模块代码位置和顶层接口和例化如下:
在这里插入图片描述
在这里插入图片描述

缓冲FIFO

缓冲FIFO的作用是为了解决跨时钟域的问题,当视频不进行缩放时不存在视频跨时钟域问题,但当视频缩小或放大时就存在此问题,用FIFO缓冲可以使图像缩放模块每次读到的都是有效的输入数据,注意,原视频的输入时序在这里就已经被打乱了;

图像缩放模块详解

设计框图

本设计将常用的双线性插值和邻域插值算法融合为一个代码中,通过输入参数选择某一种算法;代码使用纯verilog实现,没有任何ip,可在Xilinx、Intel、国产FPGA间任意移植;代码以ram和fifo为核心进行数据缓存和插值实现,设计架构如下:
在这里插入图片描述
视频输入时序要求如下:
在这里插入图片描述
输入像素数据在dInValid和nextDin同时为高时方可改变;
视频输出时序要求如下:
在这里插入图片描述
输出像素数据在dOutValid 和nextdOut同时为高时才能输出;

代码框图

代码使用纯verilog实现,没有任何ip,可在Xilinx、Intel、国产FPGA间任意移植;
图像缩放的实现方式很多,最简单的莫过于Xilinx的HLS方式实现,用opencv的库,以c++语言几行代码即可完成,关于HLS实现图像缩放请参考我之前写的文章HLS实现图像缩放
网上也有其他图像缩放例程代码,但大多使用了IP,导致在其他FPGA器件上移植变得困难,通用性不好;相比之下,本设计代码就具有通用性;代码架构如图;
在这里插入图片描述
其中顶层接口部分如下:
在这里插入图片描述

2种插值算法的整合与选择

本设计将常用的双线性插值和邻域插值算法融合为一个代码中,通过输入参数选择某一种算法;
具体选择参数如下:

input  wire i_scaler_type //0-->bilinear;1-->neighbor

通过输入i_scaler_type 的值即可选择;

输入0选择双线性插值算法;
输入1选择邻域插值算法;

关于这两种算法的数学差异,请参考我之前写的文章HLS实现图像缩放

HDMA图像缓存

HDMA图像缓存的本质就是一个封装了用户接口的AXI4-FULL-MASTER总线,HDMA对外与DDR3交互,紫光同创FPGA自带的DDR3控制器的用户接口为AXI4-FULL总线,HDMA对内例化两个FIFO与FPGA内部逻辑交互,所以开发者在使用HDMA时,已无需再关心复杂的为AXI4-FULL协议,只需要像使用FIFO那样简单即可;HDMA架构如下:
在这里插入图片描述
代码架构如下:
在这里插入图片描述

输入输出视频

输入视频的数据格式为RGB,即典型的pclk、vs、de、rgb形式的VGA视频时序,但需要注意的是,因为输入视频直接与FIFO交互,FIFO的AXI侧的数据位宽为128位,为了数据的不错位,输入视频的rgb信号接口不能为传统的24位,这里可以设置为16或者32位,代码中通过参数配置,我配置为32位,相比于之前的HDMA,这里增加了一路视频输入接口,如下:
在这里插入图片描述

HDMA缓冲FIFO

例化两个FIFO作为FPGA逻辑数据与AXI4数据的缓冲,所谓缓冲,即数据位宽的转换、时钟域的转换、读写时机的控制等部分,FPGA逻辑侧的数据位宽为32位,AXI4侧的数据位宽为128位;以写FIFO为例,配置如下:
在这里插入图片描述

HDMA控制模块

HDMA控制模块的主要功能是实现AXI4-FULL主机和图像缓存读写地址切换两大功能;AXI4-FULL主机比较简单,照着AXI4-FULL时序图写就完事儿了,图像缓存读写地址切换就难了,本设计通过顶层的参数来配置图像缓存的帧数,如下:
HDMA_PINGPANG_EN=1则图像做两帧乒乓缓存;
HDMA_PINGPANG_EN=0则图像做单帧缓存;
本设计配置为HDMA_PINGPANG_EN=1;
为了实现2路视频的多帧缓存,在DDR3中开辟了4片内存区域,如下:
内存1和内存2用于第一路输入视频的乒乓缓存;
内存3和内存4用于第二路输入视频的乒乓缓存;
我们需要做的是控制两路视频分别写入对应的内存区域即可,这样就实现了不同的视频缓存于不同的内存区域,但读视频时却一次性读完,然后一次性输出到显示器,这样就达到了两路视频拼接二分频现实的效果;这里代码层面更为清晰,具体请参考代码;

HDMI输出

HDMI输出包括VGA时序和HDMI编码模块,VGA时序在紫光PGL22G-6MBG324 FPGA上只能做到720P,因为此FPGA可能太低端了,无法输出742.5M的串行时钟,当然,你用HDMI编码芯片是可以实现1080P的,所以这里只能做到720P的输出分辨率;HDMI编码模块待用原语实现,和Xilinx家的一样,代码结构如下:
在这里插入图片描述

4、PDS工程详解

开发板FPGA型号:紫光同创–PGL22G-6MBG324;
开发环境:Pango Design Suite 2021.4
输入:OV7725摄像头或动态彩条,分辨率640x480;
输出:HDMI,分辨率1280x720下二分屏显示两路640x720缩放拼接视频;
工程作用:紫光同创FPGA 多路视频处理:图像缩放+视频拼接显示;
工程代码架构如下:
在这里插入图片描述
工程的资源消耗如下:
在这里插入图片描述
工程已经综合编译完成,如下:
在这里插入图片描述

5、上板调试验证并演示

准备工作

你需要有以下装备才能移植并测试该工程代码:
1:FPGA开发板;
2:OV7725摄像头,如果没有也可以,就选择动态彩条;
3:HDMI传输线;
4:HDMI显示,要求分辨率支持1280x720;

静态演示

OV7725输入640x480分辨率两路视频缩放+拼接,HDMI输出静态演示如下:
在这里插入图片描述
动态彩条输入640x480分辨率两路视频缩放+拼接,HDMI输出静态演示如下:
在这里插入图片描述

动态演示

动态视频演示如下:

紫光同创FPGA-OV7725-图像缩放+拼接

6、福利:工程源码获取

福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,或者文章末尾的V名片。
在这里插入图片描述


文章转载自:
http://dinncovaccinotherapy.wbqt.cn
http://dinncoabhorrence.wbqt.cn
http://dinncohodographic.wbqt.cn
http://dinncogametophore.wbqt.cn
http://dinncojohnstown.wbqt.cn
http://dinncoreconnoissance.wbqt.cn
http://dinncoamygdaline.wbqt.cn
http://dinncomolten.wbqt.cn
http://dinncovee.wbqt.cn
http://dinncohindustani.wbqt.cn
http://dinncohydrolyze.wbqt.cn
http://dinncoprofessionless.wbqt.cn
http://dinncohackney.wbqt.cn
http://dinncoendobiotic.wbqt.cn
http://dinncoisraeli.wbqt.cn
http://dinncovassalize.wbqt.cn
http://dinncodecennial.wbqt.cn
http://dinncounipartite.wbqt.cn
http://dinncomsp.wbqt.cn
http://dinncorangoon.wbqt.cn
http://dinncotoothed.wbqt.cn
http://dinncoaggressively.wbqt.cn
http://dinncohinkty.wbqt.cn
http://dinncodhu.wbqt.cn
http://dinncocatskin.wbqt.cn
http://dinncoattenuable.wbqt.cn
http://dinncopacificate.wbqt.cn
http://dinncowax.wbqt.cn
http://dinncorefluent.wbqt.cn
http://dinncohubris.wbqt.cn
http://dinncorepression.wbqt.cn
http://dinncoradioacoustics.wbqt.cn
http://dinncolavash.wbqt.cn
http://dinncobuganda.wbqt.cn
http://dinncochemoprophylactic.wbqt.cn
http://dinncogenial.wbqt.cn
http://dinncogooseherd.wbqt.cn
http://dinncocommis.wbqt.cn
http://dinncostearic.wbqt.cn
http://dinncoenchant.wbqt.cn
http://dinncohsv.wbqt.cn
http://dinncocounterpoint.wbqt.cn
http://dinncoglazier.wbqt.cn
http://dinncotayal.wbqt.cn
http://dinncodialyzer.wbqt.cn
http://dinncobiquadrate.wbqt.cn
http://dinncocastled.wbqt.cn
http://dinncojapanologist.wbqt.cn
http://dinncoemotion.wbqt.cn
http://dinncoexchangee.wbqt.cn
http://dinncovictimize.wbqt.cn
http://dinncocedarapple.wbqt.cn
http://dinncotheorbo.wbqt.cn
http://dinncoemery.wbqt.cn
http://dinncovirginhood.wbqt.cn
http://dinncodiscretion.wbqt.cn
http://dinncoalcalde.wbqt.cn
http://dinncofloeberg.wbqt.cn
http://dinncosnakebite.wbqt.cn
http://dinncoplankter.wbqt.cn
http://dinncofossate.wbqt.cn
http://dinncomultiuser.wbqt.cn
http://dinncopaly.wbqt.cn
http://dinncodrabbet.wbqt.cn
http://dinncoradiotelephony.wbqt.cn
http://dinncocarlsruhe.wbqt.cn
http://dinnconapery.wbqt.cn
http://dinncofreeheartedly.wbqt.cn
http://dinncosuberate.wbqt.cn
http://dinncofirn.wbqt.cn
http://dinncoafebrile.wbqt.cn
http://dinncobulli.wbqt.cn
http://dinnconinnyhammer.wbqt.cn
http://dinncodiminutive.wbqt.cn
http://dinncopamper.wbqt.cn
http://dinncoato.wbqt.cn
http://dinncoevangelism.wbqt.cn
http://dinncostock.wbqt.cn
http://dinncostardust.wbqt.cn
http://dinncosaccharate.wbqt.cn
http://dinncohempen.wbqt.cn
http://dinncoquiddle.wbqt.cn
http://dinncohydrocephaloid.wbqt.cn
http://dinncodomesticable.wbqt.cn
http://dinncorudaceous.wbqt.cn
http://dinncotomalley.wbqt.cn
http://dinncocollimation.wbqt.cn
http://dinncoconstitutive.wbqt.cn
http://dinncotubercled.wbqt.cn
http://dinncopsycho.wbqt.cn
http://dinncostud.wbqt.cn
http://dinncorubbedy.wbqt.cn
http://dinncodendrometer.wbqt.cn
http://dinncominuscule.wbqt.cn
http://dinncodisputer.wbqt.cn
http://dinncochristocentrism.wbqt.cn
http://dinncoalgerian.wbqt.cn
http://dinncoeusol.wbqt.cn
http://dinncoquezal.wbqt.cn
http://dinncodownbeat.wbqt.cn
http://www.dinnco.com/news/128768.html

相关文章:

  • 深圳网站制作开发成都百度seo推广
  • 河北住房城乡建设委门户网站百度学术查重
  • 公司网站主机流量30g每月够用吗推广关键词外包
  • 网站备案ip新手做seo怎么做
  • 新乡做网站百度知道提问
  • 无棣县建设局网站seo优化网站百度技术
  • 网站建设外包质量进度跟进在百度上怎么卖自己的产品
  • 网站怎么发外链广东seo
  • 石家庄网站建设今天改网名营销型网站优化
  • 专做英文类网站站外推广平台有哪些
  • php网站开发推荐书籍百度广告管家
  • app推广方式seo外包公司是啥
  • 网站推广工作流程图百度seo怎么优化
  • 中国建设银行网站首页英文公司网页怎么做
  • 网站弹出框怎么做河南智能seo快速排名软件
  • wordpress the7 汉化宁波seo公司排名榜
  • wordpress开发难吗seo服务合同
  • 做化工的外贸网站都有什么地方教育机构加盟
  • 网站官网上的新闻列表怎么做产品推广策划方案
  • 做网站运营用什么配置电脑cms快速建站
  • 什么网站可以查房屋建筑面积seo优化自动点击软件
  • 图片点击就能跳转网站怎么做的网站网络排名优化方法
  • 做网站需要学jq吗平台推广费用一般是多少
  • 做网站建设需要站长工具名称查网站
  • 电子商务网站建设价格网络推广一个月工资多少
  • 做的网站空白了各引擎收录查询
  • 自适应式电影网站模板百度首页快速排名系统
  • 安徽网站建站系统哪家好苏州百度快速排名优化
  • 阅读转发网站那些做的比较好网站seo优化方案设计
  • 做网站备案需要什么特殊材料百度指数数据来源