从MATLAB到FPGA 视频和图像处理——讲座学习小结(视频地址https://ww2.mathworks.cn/videos/from-matlab-to-fpga-video-and-image-processing-102492.html)
1、HDLcoder产品介绍
图像处理分为两个部分:

这里主要讨论第一部分图像处理部分。
一般产品设计流程如下:

适用人群有以下两类:

这里先用一张slider来进行整体概括:



基于模型的设计的好处——算法验证不成功,进行优化会更加方便快捷,对下列的循环过程大大缩短开发时间。

相关演示(在matlab的example中有可以直接打开调用):
1、搭建模型:算法做好了,然后再添加实现的支路,就可以开始产生代码了。

产生代码时,只需要告诉HDL coder,需要将红色的模块变为HDL代码,即可以得到对应的HDL代码。
上面提到了两个重要的模块
(1)全幅帧处理变成像素处理的模块:

HDL工具会根据输入的图像的大小,自动产生同步信号,而不需要我们去管。

下面matlab还提供了很多演示模型:

我们来看看有哪些模型,加强学习:
1、滤波
可以看到模型中有两种支路,这里是为了证明这两种算法是完全一样的。

2、灰度的伽马校正

3、棒状图的平衡

4、边缘检测并将结果与原来图像重合

5、不完整图像的边缘检测工作

6、识别键盘键值

下面是一些成功案例:

HDL coder主要带来了两个方面的好处:
- 建立模型并做仿真
- 可以产生与仿真结果完全一样的HDL代码
2、HDL coder对传统HDL代码产生工具的优化
HDL产品的主要特征:

1、HDL coder的优点1
HDLcoder对传统工具的产品的优化有两个方面:1、对面积的优化2、对速度的优化

2、HDLworkflow advisor
对于不熟悉HDLcode的人,如果你模型建好了,可以使用HDLworkflow advisor来创建HDL代码,它可以一步一步的帮助你优化代码,完成你的设计

3、关键路径
这里面有个非常重要的东西:关键路径

simulink是一个基于图形设计的平台工具,他可以帮助你将关键路径在其内显示出来。如果是做硬件的,上面这个图应该可以看出来是个滤波器,如果要提高运行速度,只需要加一个寄存器将关键路径打断就可以将速度提上去了。
但是如果你不是设计硬件的,你也不知道往哪放寄存器,HDL提供了工具帮助你去找往哪放寄存器的功能,你只需将寄存器放在输入端或者输出端,软件会自动找出最佳的位置。而且加了寄存器后,不仅近将关键路径打乱了,还把算法也打乱了,你必须在其他地方都加一个同样数量的寄存器才能保证算法是正确的,HDL提供的工具同样帮你完成了这个设计。

加完以后,会将加的寄存器在模块中显示出来(橙色都是工具添加的)

如果你是做控制的,你有一部分算法跑的慢一点,有一部分算法需要跑的快一点。优化工具也考虑到了这一点,也能够利用这种快慢的不同去进行优化。

4、关键路径的预估
刚才提高的关键路径一定是要产生出代码,然后运行程序,运行完以后才能得到关键路径的信息。但是这个综合程序并不是matlab的,而是调用xilinx或altera的综合工具后才能得到的结果。这个一般有个问题。如果算法复杂,产生的代码较多,运行一次会花费的时间很长。matlab在产生代码的时候提供了一个估计。

5、资源的复用
刚才的都是速度优化。刚才滤波器设计中有6个乘法器,我们如果不在乎速度,只在乎资源的化,可以进行以下优化。这部分工作HDL coder可以自动的在产品里去做。

我们只需要告诉你的期望即可

做完优化后,会产生一个新的模型进行了哪些变化。

6、其他
代码和模型的双重追踪

资源运用报告——用来多少个四则运算而不是用来多少个logic

报告具有可跳转性

将代码插入到程序,在模型中得到留空白,你可以插入你成熟的代码。

将成熟的ip核加入到模型中



从MATLAB到FPGA 视频和图像处理——讲座学习小结(视频地址https://ww2.mathworks.cn/videos/from-matlab-to-fpga-video-and-image-processing-102492.html)的更多相关文章
- FPGA经典:Verilog传奇与基于FPGA的数字图像处理原理及应用
一 简述 最近恶补基础知识,借了<<Verilog传奇>>,<基于FPGA的嵌入式图像处理系统设计>和<<基千FPGA的数字图像处理原理及应用>& ...
- matlab读写图片,读取图像序列,读取AVI视频
介绍使用matlab读写图片,读取图像序列,读取AVI视频的方法: 一.读写图像 使用matlab读一幅图像,并另存 % Filename: ImageReadWrite clc; clear; i ...
- 音视频处理基础知识扫盲:数字视频YUV像素表示法以及视频帧和编解码概念介绍
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...
- ffmpeg 安装,转视频格式为m3u8,压缩视频
# ffmpegffmpeg 安装,转视频格式为m3u8,压缩视频 ## ffmpeg 安装直接安装: apt-get install ffmpeg 运行 `ffmpeg` 看是否出现版本号以判断是否 ...
- [转]响应式WEB设计学习(2)—视频能够做成响应式吗
原文地址:http://www.jb51.net/web/70361.html 上集回顾: 昨天讲了页面如何根据不同的设备尺寸做出响应.主要是利用了@media命令以及尺寸百分比化这两招. 上集补充: ...
- 北京VR视频外包团队:全景VR视频科普
近期很多用户资讯问关于全景视频,这里动点给大家介绍一下: 首先,全景360VR视频(全景视频使用VR设备控制)是一种特殊的视频形式,与普通视频的最大区别就是,全景视频的每一帧都是涵盖360度空间场景信 ...
- 在线视频转gif动画工具 在线视频转gif动画工具下载
在线视频转gif动画工具 在线视频转gif动画工具下载 http://www.leawo.cn/space-1723875-do-thread-id-60715.html http://www.lea ...
- Android中直播视频技术探究之---桌面屏幕视频数据源采集功能分析
一.前言 之前介绍了Android直播视频中一种视频源数据采集:摄像头Camera视频数据采集分析 中介绍了利用Camera的回调机制,获取摄像头的每一帧数据,然后进行二次处理进行推流.现在我们在介绍 ...
- Android中直播视频技术探究之---摄像头Camera视频源数据采集解析
一.前言 在视频直播中一般都是两种视频数据源,一个是摄像头数据,一个是录制桌面数据,而一般来说美女妹子直播都是来自于摄像头数据,游戏直播都是录制桌面数据的,那么今天就来看看第一个数据源数据采集分析,A ...
随机推荐
- BZOJ 3097: Hash Killer I
3097: Hash Killer I Time Limit: 5 Sec Memory Limit: 128 MBSec Special Judge[Submit][Status][Discus ...
- Google Colab Notebook 的外部文件引用配置
Google Colab Notebook 的外部文件引用配置 Reference: How to upload the file and read Google Colab 先装工具:google- ...
- Optional 的基本用法
参考: https://www.cnblogs.com/xingzc/p/5778090.html http://www.runoob.com/java/java8-optional-class.ht ...
- Jquery中addClass方法不起作用的解决方案
selected类是要在点击后添加上去的新样式,在点击后,发现没有变化,打开开发者工具,发现selected类已经添加成功了. 在这里没有显示成功的主要原因是后添加的样式表优先级更低,我暂时不清楚具体 ...
- 14-background
一.background-color:设置该元素的背景颜色 一共有三种:单词.rgb表示法.十六进制表示法 1.rgb:红色 绿色 蓝色 三原色 光学显示器,每个像素都是由三原色的发光原件组成的,靠明 ...
- 为laravel队列安装supervisor并配置
supervisor 是用 Python 开发的进程管理程序;python 在主流的 linux 发行版都已经内置了:pip 则是 python 的一个包管理工具:跟 php 的 composer 类 ...
- HTML 5 视频/音频
HTML5 Audio/Video 方法 方法 描述 addTextTrack() 向音频/视频添加新的文本轨道 canPlayType() 检测浏览器是否能播放指定的音频/视频类型 load() 重 ...
- Linux - 文件和目录
文件和目录(理解) 目标 理解 Linux 文件目录的结构 01. 单用户操作系统和多用户操作系统(科普) 单用户操作系统:指一台计算机在同一时间 只能由一个用户 使用,一个用户独自享用系统的全部硬件 ...
- cacti的介绍、安装、配置、及维护
一.cacti的介绍 Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.它通过snmpget来获取数据,使用 R ...
- AltiumDesigner 查找相似对象
同类器件的集体选中.集体选中的方法是:先选中一个标识符,右击在选项表中选择Find Similar Objects,然后就会出现一个对话框,在这个对话框中,有一些any项,根据自己的需要把一些any改 ...