首页 > 技术 > 内容

FPGA纯verilog代码实现图像缩放

时间:2025-11-29  作者:Diven  阅读:0

1、设计思路和架构

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

视频输出时序要求如下:输出像素数据在dOutValid 和nextdOut同时为高时才能输出;

2、纯verilog代码搭建,不带任何ip

代码使用纯verilog实现,没有任何ip,可在Xilinx、Intel、国产FPGA间任意移植;

图像缩放的实现方式很多,最简单的莫过于Xilinx的HLS方式实现,用opencv的库,以c++语言几行代码即可完成,网上也有其图像缩放例程代码,但大多使用了IP,导致在其FPGA器件上移植变得困难,通用性不好;相比之下,本设计代码就具有通用性;

代码架构如图;其中顶层接口部分如下:

3、双线性插值和邻域插值算法

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

具体选择参数如下:

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

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

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

输入1选择邻域插值算法;

4、vivado和matlab联合仿真及结果

第一步:网上下载一张1280X720的图片,并用matlab将图片转换为RGB格式的txt文档;

第二步:在vivado下设计tstbench,将RGB格式的txt文档作为视频输入源给到图像缩放模块,并将缩放后的图像数据写入输出txt文档;

第二步:用matlab将输出txt文档转换为图片,并于原图一并输出显示以做比较;

根据以上方法得到以下仿真结果:

双线性插值算法原图1280X720缩小到800x600如下:邻域插值算法原图1280X720缩小到800x600如下:双线性插值算法原图1280X720放大到1920x1080如下:邻域插值算法原图1280X720放大到1920x1080如下:

5、工程代码1:720P原始摄像头采集显示

三套工程的设计架构都一样,如下:开发板:Xilinx Kintex7开发板

开发环境:Vivado2019.1;

输入:OV5640摄像头,分辨率1280x720p;

输出:HDMI,1080P分辨率下的720P有效区域显示;

工程作用:采集原始的720P图像,以便和后面的缩小效果作比较;

工程BD如下:其中FDMA控制器配置如下:工程代码架构如下:工程的资源消耗和功耗如下:

6、工程代码2:720P缩小到800x600P显示

开发板:Xilinx Kintex7开发板;

开发环境:Vivado2019.1;

输入:OV5640摄像头,分辨率1280x720p;

输出:HDMI,1080P分辨率下的800x600有效区域显示;

工程作用:1280x720原图缩小到800x600,并和原图作比较;

工程设计框架、BD、工程代码架构和工程1一样,FDMA配置如下:

7、工程代码3:720P缩放大1920x1080P显示

开发板:Xilinx Kintex7开发板;

开发环境:Vivado2019.1;

输入:OV5640摄像头,分辨率1280x720p;

输出:HDMI,1080P分辨率下的1920x1080有效区域显示;

工程作用:1280x720原图放大到1920x1080,并和原图作比较;

工程设计框架、BD、工程代码架构和工程1一样,FDMA配置如下:

8、上板调试验证并演示

板子连接如下:工程1:原图1280x720输出效果如下:工程2:原图1280x720缩小到800x600输出效果如下:工程3:原图1280x720放大到1920x1080输出效果如下:

猜您喜欢


1206贴片电阻并非以「瓦」为单位直接标注功率,而是以封装尺寸「1206」命名。 「1206」代表其长宽尺寸为1.2mm x 0.6mm。 至于它的功率,通常为...
2025-04-14 15:03:24
升功率电阻因其优异的电流承载能力和稳定的性能,应用于各种电路设计中。作为知名品牌,TYOHM(幸亚)高品质和可靠性赢得了市场的认可。本文将详细介绍TYOHM(幸...
2015-06-02 21:08:48
二极管作为重要的半导体器件,应用于电子电路中。功能包括整流、限流、稳压等。其中,ifm(最大正向电流)是二极管一个重要的参数,了解ifm对于选择和应用二极管非常...
2025-04-08 14:00:36
熔断器作为重要的保护元件,其性能和参数直接关系到设备的安全运行。正泰(CHNT)作为国内知名的电气品牌,其熔断器产品因质量可靠、性能稳定而受到用户青睐。本文将详...
2022-07-01 15:53:30
外六角喉塞是常见的机械配件,应用于管道连接和密封领域。外形呈六角形,便于使用扳手等工具进行安装和拆卸。喉塞内部通常有一个圆形的孔,用于连接管道或其设备,确保流体...
2008-02-22 00:00:00
触发二极管是特殊类型的二极管,应用于电力电子和控制系统中。导通电压是决定其性能和应用的关键因素。本文将详细探讨触发二极管的导通电压,包括其定义、影响因素以及应用...
2025-03-31 11:00:02
现代电气系统中,安全性和稳定性是首要考虑的因素。零线电流阻断器作为重要的保护装置,应用于各种电力设备和配电系统中。本文将详细介绍零线电流阻断器的作用,帮助读者全...
2025-11-03 13:32:51
电阻作为电子元件中的基础元件,在电路设计中起着关键作用。susumu作为知名的插件电阻品牌,其产品以高精度、高稳定性,应用于各类电子设备中。那么,susumu插...
2012-03-03 01:03:02
贴片电阻上的5101标识并非直接表示阻值大小的千欧数值。实际上是一种编码方式,代表着电阻的阻值。5101采用的是数字编码表示法,其中前三位数字510表示有效数字...
2024-11-29 10:26:11
随着电子技术的不断发展,功率模块在电力电子领域中的应用越来越。功率模块电路图作为设计和分析功率模块的重要工具,对于理解其工作原理、优化性能具有重要意义。本文将围...
2025-11-09 12:30:06