FPGA高端图像处理培训第一期,提供工程源码+视频教程+FPGA开发板
目录
- 1、FPGA图像处理培训现状分析
- 2、本FPGA图像处理培训优势亮点
- 架构全
- 起点高
- 实用性强
- 项目应用级别
- 细节恐怖
- 工程源码清晰
- 3、本FPGA图像处理培训内容介绍
- 图像处理基本框架
- 图像前处理框架
- 图像中处理框架
- 图像前+中处理框架
- 图像后处理框架
- 图像中+后处理框架
- 图像处理仿真框架
- 视频教程+免费试看
- 4、本FPGA图像处理培训资料清单
- 培训资料
- 配套的FPGA开发板
- 5、图像处理工程源码输出效果
- 图像采集输出演示
- 图像缩放输出演示
- 多路图像拼接输出演示
- 图像去雾输出演示
- 图像识别跟踪输出演示
- 6、FPGA图像处理培训资料获取
FPGA高端图像处理培训第一期,提供工程源码+视频教程+FPGA开发板
1、FPGA图像处理培训现状分析
FPGA图像处理培训现状;
目前FPGA图像处理培训现状可谓尔虞我诈合纵连横,大有春秋战国+三国演义之风;
你或许听说过FPGA培训机构,他们收费3到5万,而你学到的仅仅是串口等低端技能,因为他们的目的只是为了让你贷款学费,赚金融的钱,至于你学什么学到了什么,那只是他们挣钱的工具,所以多数FPGA培训机构属于昧着良心骗学生,不值得评价;
你或许在某宝某鱼某QQ群某公众号看到过卖视频教程的,这类视频讲得很好很详细,但在我看来有点主次不分了,没有从工程项目应用、职场、老板等角度去教会学生如何快速的实现FPGA项目的角度去讲;举个例子,有的博主会花大篇幅去讲i2c如何实现的,这纯属浪费时间,i2c属于低速总线,一般在项目中用作芯片配置,是很成熟很简单的东西,我只需要知道怎么用就行了,根本不需要去手写一个i2c总线,一般的公司里,这种基础的模块都有,领导需要的是你快速把他用起来然后做项目,谁会要求你去写这么个玩意儿呢?就好比你在写C代码时调用print()函数打印个东西,哪个领导会要求你去写一个print()函数呢?会用、快速用、用的好、做项目、交差、到账、分钱;这是领导在乎的;突然想起网上的一句话,何为愚蠢?愚蠢就是把大量时间和精力拿去做毫无意义的事情;
你或许可以去B站看海量免费的视频教程,视频看多了,你以为自己行了,结果3行verilog代码都写不出来,甚至看代码都不行,更别说做项目了;所以我的建议是《珍爱FPGA,远离视频教程》;你想想,如果看视频教程都能学会FPGA,还有人去送外卖吗?
FPGA是一个动手+动脑的游戏,你却理解为了左手拿着肥宅水右手拿着炸鸡腿看游戏直播的行当,是不是有点南辕北辙了?所以我的建议《多看代码+多理解代码+多问问题+多写代码》;当然,也不是说视频教程不能看,但应该看的是工程或者项目代码实现的架构,数据流向等宏观的方向性的介绍,至于里面的细节,则需要你去查资料,然后看代码,看仿真,多问,多些,自己复现等,这样才是你自己学到的,视频教程,那是别人脑子里的东西,无法复制粘贴到你的脑子里,只有通过你自己的《学习》才能讲你学到的东西下载固化到你的脑子里;
2、本FPGA图像处理培训优势亮点
本FPGA图像处理培训优势亮点主要分为架构全、起点高、实用性强、项目应用级别、细节恐怖、工程源码清晰等几个方面;
架构全
本FPGA图像处理培训的内容架构很全;如果以图像缓存为界限,本博主将图像处理的架构分为《图像处理基本》、《图像前处理》、《图像中处理》、《图像前+中处理》、《图像后处理》、《图像前+中+后综合处理》几类框架,但请注意,以上分类纯属博主根据自身开发经验取名,没有任何学术依据,如有雷同纯属巧合;具体如下:
图像处理基本框架如下:
图像处理基本框架实质上并没有图像处理,但它作为一个框架,是图像处理的基础;它以图像缓存为核心,后续的图像处理可以在图像缓存前面进行,也可以在图像缓存中进行,还可以在图像缓存后进行;为了配合学习图像处理基本框架,我安排了2套Vivado工程源码+配套视频讲解,好学的你应该可以把握住;
图像前处理框架如下:
图像前处理在图像处理基本框架基础上发展而来,也就是在图像缓存之前先做图像处理;具体说是在图像缓存之前对输入视频做图像缩放处理;结合上文和框图应该很好理解;为了配合学习图像前处理,我安排了3套Vivado工程源码+配套视频讲解,好学的你应该可以把握住;
图像中处理基本框架如下:
图像中处理在图像处理基本框架基础上发展而来,也就是在图像缓存中做图像处理,也就是将图像处理的过程和介质放到DDR3中去;具体说是把输入视频缓存到DDR3中做多路视频拼接处理;结合上文和框图应该很好理解;为了配合学习图像中处理,我安排了2套Vivado工程源码+配套视频讲解,好学的你应该可以把握住;
图像前+中处理框架如下:
图像前+中处理在图像前处理和图像中处理基础上发展而来,也就是在图像处理在缓存之前和之中都进行了;具体说是把输入视频先做图像缩放处理,然后再DDR3中再做多路视频拼接处理;结合上文和框图应该很好理解;为了配合学习图像前+中处理,我安排了2套Vivado工程源码+配套视频讲解,好学的你应该可以把握住;
图像后处理框架如下:
图像后处理在图像处理基本框架基础上发展而来,也就是在图像缓存之后再做图像处理;具体说是把缓存后的视频做图像去雾处理;结合上文和框图应该很好理解;为了配合学习图像后处理,我安排了2套Vivado工程源码+配套视频讲解,好学的你应该可以把握住;
图像中+后处理框架如下:
图像中+后处理在图像中处理和图像后处理基础上发展而来,图像处理的过程和介质包括中后,且各自还有交互;具体说是把输入视频做两次缓存得到帧差,然后基于帧差算法对视频做运动目标做识别画框处理;为了配合学习图像中+后综合处理,我安排了2套Vivado工程源码+配套视频讲解,好学的你应该可以把握住;
起点高
本FPGA图像处理培训的内容起点很高;比如你可能听说或学到的什么OV5640摄像头配置和视频采集之类的东西,在我的培训资料里都是垃圾,上不了台面,仅仅是一个小工具而已,听了我的视频说明,你会恍然大悟,原来我一直在乎的东西实际上在项目中根本不重要,原来我一直人为高大上的硬件原来都是工业垃圾。。。我的培训资料,不仅包括图像的采集、缓存、缩放、拼接等,还包括FPGA时序约束,如果你编译出来的工程时序都不过,这样的工程你敢用到产品上去吗?我提供的工程时序报告都是这样的:
所以,我不做那种低端的、没有工程项目意义的、只为骗取学生可怜生活费的培训,我只做能提高学生技能、增加学生进大厂机率的起点高培训;
实用性强
本FPGA图像处理培训的内容实用性很强;比如你可能听说或学到的什么OV5640摄像头的采集输出,但你可能不知道的是,你学的这些东西都是垃圾,没有实用性;你见过市面上有哪个产品是用OV5640这样的东西做的吗?既然是工业垃圾,为什么还要去学他呢?你可能会说我只是通过OV5640摄像头来学习怎么做图像缓存,因为OV5640摄像头便宜;很好,如果你能悟道这一层,说明你很有前途,我的培训资料里也有OV5640,但它只是工具,我的目的不是去介绍OV5640让你学会用它,而是让你学会图像的处理技能;基于此,在我的培资料里,还提供了FPGA内部生成的动态彩条作为输入,可以模拟一个摄像头;此外,我的培训资料里还有HDMI输入,采用纯逻辑代码实现,支持1920x1080@60Hz的处理能力,某宝目前还找不到这样的代码+配套的开发板,但我这里有;此外,为了方便验证,你还可以选择一套配套的FPGA开发板;我的FPGA图像处理培训内容讲的是实用性,你学到的都是有现实价值的、有工程项目意义的、实用性强的内容;
项目应用级别
本FPGA图像处理培训的内容都是项目应用级别的;你从我这里学到的不是做实验,而是项目开发;所以请记住,你是在做项目,不是在学FPGA;
比如图像采集传输,在医疗、军工等行业应用十分广泛,特别是军工,每年都有很多研究所去高校挖人,如果你在校期间就已练习两年半获得了项目经验,人家还不《箪食壶浆以迎王师》的忽悠你去他那儿?
本FPGA图像处理培训的每一个项目,都有对应的项目应用场景,所以请记住,你不是在学FPGA,你是在做项目;
细节恐怖
本FPGA图像处理培训的内容都细节是恐怖的;每一个工程都有说明,每一个代码模块都有介绍,每一行代码都有注释;当然那些已经模块化、没有现实意义的功能模块除外;你在我提供的工程代码里,几乎很难找到一行没有注释的代码,而且我的注释十分朴实无华,直接上的是中文注释
,不玩儿那些花里胡哨的英文注释,毕竟学生看的是代码不是干英文翻译的,下面举个例子,看看代码注释:
注意!!!我是在Notepad++的代码编辑器上写的,所以其他编辑器打开代码可能出现乱码
;建议将vivado与Notepad++绑定,具体方法可百度搜索《vivado联合Notepad++方法》;
所谓细节恐怖只是保守的活法,以你为再恐怖的细节再详细的讲解也不可能做到让你一看就懂,所以我还大胆的提供了永久性技术支持服务,也就是说你看代码、写代码、做项目遇到问题,可以随时问我,我知道的都会为你解答
,当然,这里有两个前提,一是别三更半夜来问,因为大家都要休息,二是你做的项目可能我没做过或者过于高端我没接触过,这种就没法支持了;
工程源码清晰
此外,培训资料提供的全部vivado工程架构清晰,代码流畅,可读性、可移植性都很强,这里举例如下,以OV5640摄像头输入做帧差算法运动目标识别工程为例,该工程由Block Design和模块例化组成,其中Block Design设计如下:
代码模块例化后的代码架构如下:
工程编译后资源消耗低、功耗低、时序收敛,如下:
3、本FPGA图像处理培训内容介绍
本FPGA图像处理培训内容以具体的FPGA工程为基础,每个FPGA工程包括本身的源代码+对应的模块仿真+对应的视频讲解
,如下:
本FPGA图像处理培训一共准备了13套vivado项目工程+3套vivado仿真工程+多个视频讲解教程;具体如下:
图像处理基本框架
图像处理基本框架如下:
图像处理基本框架实质上并没有图像处理,但它作为一个框架,是图像处理的基础;它以图像缓存为核心,后续的图像处理可以在图像缓存前面进行,也可以在图像缓存中进行,还可以在图像缓存后进行;为了配合学习图像处理基本框架,我安排了2套Vivado工程源码+配套视频讲解,好学的你应该可以把握住;
该架构下提供了2套Vivado工程源码,工程源码设计架构如下:
2套Vivado工程源码的区别在于输入视频的不同,具体如下:
第1套工程源码:
开发板FPGA型号:Xilinx–Artix7–xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
输入:OV5640摄像头或者FPGA内部动态彩条,分辨率1280x720@30Hz;
输出:HDMI,分辨率1280x720@60Hz;
图像缓存方案:FDMA图像缓存+DDR3颗粒+图像3帧缓存;
第2套工程源码:
开发板FPGA型号:Xilinx–Artix7–xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
输入:HDMI或者FPGA内部动态彩条,纯VHDL解码方案,分辨率1920x1080@60Hz,笔记本电脑模拟输入源;
输出:HDMI,分辨率1920x1080@60Hz;
图像缓存方案:FDMA图像缓存+DDR3颗粒+图像3帧缓存;
通过以上2套Vivado工程源码+配套的文字版博客设计说明+配套的视频讲解教程;你将学到如下知识和技能;
图像前处理框架
图像前处理基本框架如下:
图像前处理在图像处理基本框架基础上发展而来,也就是在图像缓存之前先做图像处理;具体说是在图像缓存之前对输入视频做图像缩放处理;结合上文和框图应该很好理解;为了配合学习图像前处理,我安排了2套Vivado工程源码+配套视频讲解,好学的你应该可以把握住;
该架构下提供了3套Vivado工程源码,工程源码设计架构如下:
2套Vivado工程源码的区别在于输入视频和缩放比例的不同,具体如下:
第1套工程源码:
开发板FPGA型号:Xilinx–Artix7–xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
输入:OV5640摄像头或者FPGA内部动态彩条,分辨率1280x720@30Hz;
输出:HDMI,分辨率960x540@60Hz;
图像缩放方案:自研纯Verilog图像缩放;
图像缩放实例:1280x720缩放到960x540;
图像缓存方案:FDMA图像缓存+DDR3颗粒+图像3帧缓存;
第2套工程源码:
开发板FPGA型号:Xilinx–Artix7–xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
输入:OV5640摄像头或者FPGA内部动态彩条,分辨率1280x720@30Hz;
输出:HDMI,分辨率1920x1080@60Hz;
图像缩放方案:自研纯Verilog图像缩放;
图像缩放实例:1280x720缩放到1920x1080;
图像缓存方案:FDMA图像缓存+DDR3颗粒+图像3帧缓存;
第3套工程源码:
开发板FPGA型号:Xilinx–Artix7–xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
输入:HDMI或者FPGA内部动态彩条,纯VHDL解码方案,分辨率1920x1080@60Hz,笔记本电脑模拟输入源;
输出:HDMI,分辨率1280x720@60Hz;
图像缩放方案:自研纯Verilog图像缩放;
图像缩放实例:1920x1080缩放到1280x720;
图像缓存方案:FDMA图像缓存+DDR3颗粒+图像3帧缓存;
通过以上3套Vivado工程源码+配套的文字版博客设计说明+配套的视频讲解教程;你将学到如下知识和技能;
图像中处理框架
图像中处理基本框架如下:
图像中处理在图像处理基本框架基础上发展而来,也就是在图像缓存中做图像处理,也就是将图像处理的过程和介质放到DDR3中去;具体说是把输入视频缓存到DDR3中做多路视频拼接处理;结合上文和框图应该很好理解;为了配合学习图像中处理,我安排了2套Vivado工程源码+配套视频讲解,好学的你应该可以把握住;
该架构下提供了2套Vivado工程源码,工程源码设计架构如下:
其中2路视频拼接工程设计架构如下:
其中4路视频拼接工程设计架构如下:
2套Vivado工程源码的区别在于输入视频做几路拼接的不同,具体如下:
第1套工程源码:
开发板FPGA型号:Xilinx–Artix7–xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
输入:OV5640摄像头或者FPGA内部动态彩条,分辨率960x540@30Hz;
输出:HDMI,1920x1080@60Hz背景下叠加显示2路拼接的960x540的有效图像;
图像缓存方案:FDMA图像缓存+DDR3颗粒+图像3帧缓存;
多路视频拼接方案:FDMA图像缓存内部拼接;
多路视频拼接路数:2路视频拼接;
第2套工程源码:
开发板FPGA型号:Xilinx–Artix7–xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
输入:OV5640摄像头或者FPGA内部动态彩条,分辨率960x540@30Hz;
输出:HDMI,1920x1080@60Hz背景下叠加显示4路拼接的960x540的有效图像;
图像缓存方案:FDMA图像缓存+DDR3颗粒+图像3帧缓存;
多路视频拼接方案:FDMA图像缓存内部拼接;
多路视频拼接路数:4路视频拼接;
通过以上2套Vivado工程源码+配套的文字版博客设计说明+配套的视频讲解教程;你将学到如下知识和技能;
图像前+中处理框架
图像前+中处理框架如下:
图像前+中处理在图像前处理和图像中处理基础上发展而来,也就是在图像处理在缓存之前和之中都进行了;具体说是把输入视频先做图像缩放处理,然后再DDR3中再做多路视频拼接处理;结合上文和框图应该很好理解;为了配合学习图像前+中处理,我安排了4套Vivado工程源码+配套视频讲解,好学的你应该可以把握住;
该架构下提供了2套Vivado工程源码,工程源码设计架构如下:
2套Vivado工程源码的区别在于输入视频不同,具体如下:
第1套工程源码:
开发板FPGA型号:Xilinx–Artix7–xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
输入:OV5640摄像头或者FPGA内部动态彩条,分辨率1280x720@30Hz;
输出:HDMI,1920x1080@60Hz背景下叠加显示2路拼接的960x540的有效图像;
图像缩放方案:自研纯Verilog图像缩放;
图像缩放实例:1280x720缩放到960x540;
图像缓存方案:FDMA图像缓存+DDR3颗粒+图像3帧缓存;
多路视频拼接方案:FDMA图像缓存内部拼接;
多路视频拼接路数:2路视频拼接;
第2套工程源码:
开发板FPGA型号:Xilinx–Artix7–xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
输入:HDMI或者FPGA内部动态彩条,纯VHDL解码方案,分辨率1920x1080@60Hz,笔记本电脑模拟输入源;
输出:HDMI,1920x1080@60Hz背景下叠加显示2路拼接的960x540的有效图像;
图像缩放方案:自研纯Verilog图像缩放;
图像缩放实例:1920x1080缩放到960x540;
图像缓存方案:FDMA图像缓存+DDR3颗粒+图像3帧缓存;
多路视频拼接方案:FDMA图像缓存内部拼接;
多路视频拼接路数:2路视频拼接;
通过以上2套Vivado工程源码+配套的文字版博客设计说明+配套的视频讲解教程;你将学到如下知识和技能;
图像后处理框架
图像后处理框架如下:
图像后处理在图像处理基本框架基础上发展而来,也就是在图像缓存之后再做图像处理;具体说是把缓存后的视频做图像去雾处理;结合上文和框图应该很好理解;为了配合学习图像后处理,我安排了2套Vivado工程源码+配套视频讲解,好学的你应该可以把握住;
该架构下提供了2套Vivado工程源码,工程源码设计架构如下:
2套Vivado工程源码的区别在于输入视频的不同,具体如下:
第1套工程源码:
开发板FPGA型号:Xilinx–Artix7–xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
输入:OV5640摄像头或者FPGA内部动态彩条,分辨率1280x720@30Hz;
输出:HDMI,分辨率1280x720@60Hz;
图像缓存方案:FDMA图像缓存+DDR3颗粒+图像3帧缓存;
图像去雾方案:暗通道先验算法,纯verilog图像去雾方案;
第2套工程源码:
开发板FPGA型号:Xilinx–Artix7–xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
输入:HDMI或者FPGA内部动态彩条,纯VHDL解码方案,分辨率1920x1080@60Hz,笔记本电脑模拟输入源;
输出:HDMI,分辨率1920x1080@60Hz;
图像缓存方案:FDMA图像缓存+DDR3颗粒+图像3帧缓存;
图像去雾方案:暗通道先验算法,纯verilog图像去雾方案;
通过以上2套Vivado工程源码+配套的文字版博客设计说明+配套的视频讲解教程;你将学到如下知识和技能;
图像中+后处理框架
图像中+后处理框架如下:
图像中+后处理在图像中处理和图像后处理基础上发展而来,图像处理的过程和介质包括中后,且各自还有交互;具体说是把输入视频做两次缓存得到帧差,然后基于帧差算法对视频做运动目标做识别画框处理;为了配合学习图像中+后综合处理,我安排了2套Vivado工程源码+配套视频讲解,好学的你应该可以把握住;
该架构下提供了2套Vivado工程源码,工程源码设计架构如下:
2套Vivado工程源码的区别在于输入视频的不同,具体如下:
第1套工程源码:
开发板FPGA型号:Xilinx–Artix7–xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
输入:OV5640摄像头或者FPGA内部动态彩条,分辨率1280x720@30Hz;
输出:HDMI,分辨率1280x720@60Hz;
图像缓存方案:FDMA图像缓存+DDR3颗粒+图像3帧缓存;
运动目标识别方案:帧差算法,纯verilog帧差算法运动目标识别;
第2套工程源码:
开发板FPGA型号:Xilinx–Artix7–xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
输入:HDMI或者FPGA内部动态彩条,纯VHDL解码方案,分辨率1920x1080@60Hz,笔记本电脑模拟输入源;
输出:HDMI,分辨率1920x1080@60Hz;
图像缓存方案:FDMA图像缓存+DDR3颗粒+图像3帧缓存;
运动目标识别方案:帧差算法,纯verilog帧差算法运动目标识别;
通过以上2套Vivado工程源码+配套的文字版博客设计说明+配套的视频讲解教程;你将学到如下知识和技能;
图像处理仿真框架
图像处理仿真采用Vivado+Matlab联合仿真架构,如下:
Vivado+Matlab联合仿真详细步骤如下:
第1步:网上下载一张jpg格式的图片作为测试输入图像;
第2步:用Matlab程序提取图片中的RGB像素,并保存为txt文档;
第3步:将输入测试图片RGB像素的txt文档复制到Vivado仿真工程中;
第4步:Vivado仿真工程读取输入图片RGB像素的txt文档,并生成视频流;
第5步:Vivado仿真工程将输入图像视频流送入图像处理模块,并将图像处理后的RGB像素输出保存为txt文档;
第6步:将图像处理后的RGB像素输出保存的txt文档复制到Matlab工程中;
第6步:用Matlab程序提取仿真输出TXT文档中的RGB像素,并转换为图片输出;
Matlab程序在第6步时会同时输出原图和图像处理后的图片,形成效果对比;
本FPGA高端图像处理培训工提供了3套仿真程序,具体如下:
第1套仿真程序
FDMA仿真程序;用于FDMA的专用仿真,目的是让读者掌握FDMA用户操作时序,为FDMA控制器的设计提供扎实基础;同时也是整个图像缓存架构的基础;
第2套仿真程序
图像缩放仿真程序;用图像缩放模块的专用仿真,目的是让读者掌握图像缩放模块的时序,为分析理解图像缩放模块代码做参考;
第3套仿真程序
图像去雾仿真程序;用图像去雾模块的专用仿真,目的是让读者掌握图像去雾模块的时序,为分析理解图像去雾模块代码做参考;
基于以上三套仿真程序和配套的视频讲解,目的是为读者提供一种仿真架构设计,让读者可以用本套架构仿真自己的图像处理模块;
视频教程+免费试看
FPGA高端图像处理培训的视频教程分为Vivado工程讲解视频、仿真讲解视频、时序约束和时序优化讲解视频三个部分;
需要注意的是,视频教程只是方便读者了解设计架构和思想,千万不要迷恋视频教程,不要想通过看视频学会FPGA,要在看视频教程了解架构的前提下深挖代码、理解代码设计、掌握模块用法,才能将FPGA技能装进自己的脑细胞里;
给出前文《图像处理基本框架》章节中工程源码1的Vivado工程完整的搭建、设计视频教程,仅作视频教程试看,如果你觉得还行,可以考虑是否需要本套图像处理培训资料,频教程试看如下:
试看视频-Vivado工程搭建
4、本FPGA图像处理培训资料清单
培训资料
本FPGA图像处理培训资料清单如下:
配套的FPGA开发板
工程源码配套的FPGA开发板为选配
,可用于工程验证和后续开发,具体如下:
该开发板为精简、小巧、适用、经济、功能齐全的本博主专属VIP开发板,VIP开发板由核心板+底板构成;具体配置和接口如下:
核心板配置如下:
板载FPGA型号:Artix7–xc7a35tfgg484-2;Xilinx经济型FPGA;
板载DDR3型号:MT41J64M16LA-15E,板载1片该型号DDR3,内存128M,已经够用了;
板载FLASH型号:S25FL032P,板载1片该型号FLASH,用于程序固化;
板载50M晶振,作为FPGA系统时钟;
板载JTAG接口,用于程序调试;
板载4颗用户LED灯,用于用户开发;取消了板载按键,鸡肋设计,直接用VIO调控即可;
板载12V直流电源接口,用于开发板供电;
板载20 PIN用户IO引脚,可接本博主的LVDS显示屏或者其他外设;
底板配置如下:
板载125M晶振,用于MGT高速接口时钟;
板载1路SFP光口,用于高速接口开发;
板载1路RJ45网口,用于以太网开发,PHY芯片为RTL8211E;
板载1路OV5640摄像头接口,用于图像开发;
板载1路HDMI输入接口,最大支持1920x1080@60Hz分辨率,驱动芯片为TMDS141RHAR;
板载1路HDMI输出接口,最大支持1920x1080@60Hz分辨率,直连FPGA的HP BANK;
板载1路串口,用于用户调试;
板载1路SD卡接口;
板载4颗用户LED灯,用于用户开发;
板载1颗用户按键;
配套的FPGA开发板发货清单如下:
物品 | 数量 |
---|---|
FPGA开发板 | 1块 |
开发板电源 | 1个 |
开发板下载器 | 1个 |
OV5640摄像头 | 1个 |
USB串口线 | 1根 |
5、图像处理工程源码输出效果
图像采集输出演示
该输出演示对应前文《图像处理基本框架》章节中的2套Vivado工程源码,输出演示如下:
视频前半段为动态彩条输出;
视频前后段为ov5640输出;
图像采集输出演示
图像缩放输出演示
该输出演示对应前文《图像前处理框架》章节中的3套Vivado工程源码,输出演示如下:
左边视频为笔记本1920x1080的原视频;
右边视频为FPGA缩放到1280x720的视频;
图像缩放输出演示
多路图像拼接输出演示
该输出演示对应前文《图像中处理框架》章节中的2套Vivado工程源码,输出演示如下:
视频前半段为4路动态彩条拼接输出;
视频前后段为4路OV5640摄像头拼接输出;
图像拼接输出演示
图像去雾输出演示
该输出演示对应前文《图像后处理框架》章节中的2套Vivado工程源码,输出演示如下:
图像去雾输出演示
图像识别跟踪输出演示
该输出演示对应前文《图像中+后处理框架》章节中的2套Vivado工程源码,输出演示如下:
OV5640输入 图像识别跟踪输出演示如下:
图像识别跟踪输出演示
HDMI输入 图像识别跟踪输出演示如下:
图像识别跟踪输出演示
6、FPGA图像处理培训资料获取
福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,或者文章末尾的V名片。
网盘资料如下:
相关文章:

FPGA高端图像处理培训第一期,提供工程源码+视频教程+FPGA开发板
目录 1、FPGA图像处理培训现状分析2、本FPGA图像处理培训优势亮点架构全起点高实用性强项目应用级别细节恐怖工程源码清晰 3、本FPGA图像处理培训内容介绍图像处理基本框架图像前处理框架图像中处理框架图像前中处理框架图像后处理框架图像中后处理框架图像处理仿真框架视频教程…...

顺序表的实现(数据结构)——C语言
目录 1.结构与概念 2.分类 3 动态顺序表的实现 SeqList.h SeqList.c 创建SLInit: 尾插SLPushBack以及SLCheak(检查空间是否足够): 头插SLPushFront: 尾删SLPopBack 头删SLPopFront 查找指定元素SLFind 指定…...

【VUE】Vue中 computed计算属性和watch侦听器的区别
核心功能不同 computed 是一个计算属性,其核心功能是基于已有的数据属性计算得出新的属性值。当某个依赖的数据发生变化时,computed 会自动重新计算并更新自己的值。因此,可以将 computed 看做是一种“派生状态”。 watch 是一个观察者函数&…...

linux线程 | 同步与互斥 | 深度学习与理解同步
前言:本节内容主要讲解linux下的同步问题。 同步问题是保证数据安全的情况下,让我们的线程访问具有一定的顺序性。 线程安全就规定了它必须是在加锁的场景下的!!那么, 具体什么是同步问题, 我们加下来看看吧…...

Tkinter Frame布局笔记--做一个简易的计算器
#encodingutf-8 import tkinter import re import tkinter.messagebox import tkinter.simpledialog import sys import os def get_resources_path(relative_path):if getattr(sys,frozen, False):base_pathsys._MEIPASS#获取临时文件else:base_pathos.path.dirname(".&q…...

算法专题八: 链表
目录 链表1. 链表的常用技巧和操作总结2. 两数相加3. 两两交换链表中的节点4. 重排链表5. 合并K个升序链表6. K个一组翻转链表 链表 1. 链表的常用技巧和操作总结 常用技巧 画图!!! 更加直观形象, 便于我们理解引入虚拟头节点, 方便我们对链表的操作, 减少我们对边界情况的考…...

MySQL中关于NULL值的六大坑!你被坑过吗?
NULL值是我们在开发过程中的老朋友了,但是这个老朋友在MySQL中有很多坑,我通过这篇文章来总结分享一下,欢迎大家在评论区分享你的看法和踩坑经历。 1、NULL不等于NULL 在MySQL中,执行以下SQL会返回NULL 假如t表有以下数据&#…...

学生学习动机测试:激发潜能,引领未来
学习动机、学习兴趣和学习目标制定是影响学生学习成效的三个关键因素。通过对学生学习动机的测试,我们可以深入了解学生的学习状态,进而采取针对性的措施,激发他们的学习潜能,引导他们走向更加光明的未来。本文将从学习动机、学习兴趣和学习目标制定三个方面,详细探讨学生…...

基于SSM党务政务服务热线管理系统的设计
管理员账户功能包括:系统首页,个人中心,用户管理,部门管理,办事信息管理,信息记录管理,系统管理 前台账号功能包括:系统首页,个人中心,部门,信息…...

OSI参考模型详解:初学者指南与实践案例
OSI参考模型详解:初学者指南与实践案例 OSI(Open System Interconnect)参考模型是一个由国际标准化组织(ISO)提出的七层网络分层模型,它为全球所有互联计算机系统提供了一个通用的通信框架,解决…...

S7-200 SMART 与 S7-1200 之间 TCP 通信— S7-200 SMART 作为服务器
TCP 协议通信 TCP 通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。S7-200 SMART 与 S7-1200 通过 TCP 通信,在 S7-1200 调用 T-block 指令 ( TCON, TDISCON, TSEND, TRCV ) ,在 S7-200 SMART 调用 Open User Communication …...

Java @RequestPart注解:同时实现文件上传与JSON对象传参
RequestPart注解:用于处理multipart/form-data请求的一部分,通常用于文件上传或者处理表单中的字段。 java后端举例: PostMapping("/fileTest")public AjaxResult fileTest(RequestPart("file") MultipartFile file,Req…...

深度学习基础知识-02 数据预处理
深度学习的数据预处理通常包括: 1.数据清洗:去除错误或不完整的数据。 2.归一化:调整数据范围,如将像素值缩放到0-1。 3.数据增强:通过旋转、缩放等方法增加数据多样性。 4.数据划分:将数据分为训练集、验证…...

【CTF刷题9】2024.10.19
[MoeCTF 2021]babyRCE 考点:关键词过滤(绕过方法参考往期博客) 来源:nssctf <?php$rce $_GET[rce]; if (isset($rce)) {if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\|\%|\&g…...

WPF中的Setter
在 WPF (Windows Presentation Foundation) 中,Setter 是一个定义控件属性值的标记,通常用在 Style 或 Template 中。Setter 用于指定当某些条件满足时,控件的属性应该如何设置。以下是 Setter 的一些关键点: 属性设置:…...

RabbitMQ下载与配置
安装Erlang Erlang 下载地址如下: https://erlang.org/download/otp_versions_tree.html 安装 RabbitMQ RabbitMQ 下载地址如下: https://www.rabbitmq.com/install-windows.html 查看服务,服务已经正常启动 打开Command Prompt 输入rabb…...

【数据结构与算法】力扣 54. 螺旋矩阵
问题描述 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入: matrix [[1,2,3],[4,5,6],[7,8,9]] 输出: [1,2,3,6,9,8,7,4,5]示例 2: 输入: ma…...

速通不了的人工智能
下面是一个详细且系统的人工智能学习框架,涵盖了从基础理论到实际应用的各个方面。这个框架包括理论学习、编程实践、项目实战和资源推荐。为了帮助你更好地理解和应用,我会提供一些具体的代码示例。 人工智能学习框架 1. 基础理论 1.1 数学基础 线性代数:向量、矩阵、特…...

微信新功能上线,找工作也能“附近”搞定
大家好,我是小悟 你们听说了吗?微信又双叒叕出新功能啦!这次可不是什么微整形、小游戏之类的小打小闹,而是实实在在的大招——查找附近的工作!没错,你没听错,就是那个在你家门口就能找到工作的…...

CANoe与C#联合仿真方案
引言 CANoe作为一款强大的网络仿真工具,能够模拟各种通信协议,尤其是在汽车领域的CAN、LIN、Ethernet等协议。而C#作为一种广泛使用的编程语言,能够为CANoe提供灵活的用户界面和逻辑控制。本文将探讨如何将CANoe与C#结合,实现高效的联合仿真方案。 1. 系统架构 联合仿真…...

公交信息在线查询系统|基于java和小程序的公交信息在线查询系统小程序设计与实现(源码+数据库+文档)
公交信息在线查询系统小程序 目录 基于java和小程序的公交信息在线查询系统小程序设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂…...

[LeetCode] 1162. 地图分析
题目描述: 你现在手里有一份大小为 n x n 的 网格 grid,上面的每个 单元格 都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地。 请你找出一个海洋单元格,这个海洋单元格到离它最近的陆地单元格的距离是最大的,并返…...

CentOS 上安装 MySQL(附卸载教程)
在 CentOS 上安装 MySQL 5.7: 1. 添加 MySQL Yum 存储库 首先,确保你已添加 MySQL Yum 存储库。因为你已经安装了 mysql57-community-release-el7-11.noarch,如果需要重新添加,可以使用以下命令: sudo yum localins…...

如何在Matlab界面中添加日期选择器?
在Matlab界面中添加日期选择器,可以让用户通过图形界面方便地选择日期。Matlab提供了uidatepicker函数,允许用户在App Designer设计的GUI中添加日期选择器组件。以下是如何在Matlab界面中添加日期选择器的详细步骤: 1. 使用App Designer添加…...

保险系统的部分模式01
Wolfgang Keller 著,liwenhua 译 摘要 对于许多保险公司来说,要建立一个能够缩短产品周期,柔性灵活的保险系统可谓是一个挑战。虽然这个系统有着巨大的市场,围绕这些相同的问题开展了许多项目,但是这些项目似乎仍然有…...

用你的手机/电脑运行文生图方案
随着ChatGPT和Stable Diffusion的发布,最近一两年,生成式AI已经火爆全球,已然成为移动互联网后一个重要的“风口”。就图片/视频生成领域来说,Stable Diffusion模型发挥着极其重要的作用。由于Stable Diffusion模型参数量是10亿参…...

L1正则化详解
目录 L1 正则化优缺点:适合使用L1正则化的情况:不适合使用L1正则化的情况:参考 L1 正则化 L1正则化是一种常用的正则化技术,也被称为Lasso正则化(Least Absolute Shrinkage and Selection Operator)。它通…...

C语言在数据库开发中的应用及其代码实践
数据库作为现代软件开发中不可或缺的一部分,其开发和维护工作至关重要。C语言,以其接近硬件的特性和高效率,被广泛应用于数据库系统的核心组件开发中。本文将探讨C语言在数据库开发中的应用,并提供实际的代码示例。 C语言在数据库…...

java maven
参考链接 maven相关配置 maven依赖管理 依赖具有传递性。 maven依赖范围 maven的生命周期 分为三个相互独立的生命周期: 在执行对应生命周期的操作时,需要进行前面的操作。比如,执行打包install的时候,会执行test。...

Java爬虫:获取直播带货数据的实战指南
在当今数字化时代,直播带货已成为电商领域的新热点,通过直播平台展示商品并进行销售,有效促进了产品的曝光和销售量的提升。然而,如何在直播带货过程中进行数据分析和评估效果,成为了摆在商家面前的一个重要问题。本文…...