在仿真软件为HDL设计视频处理算法金宝app
这个例子展示了如何使用视觉设计hardware-targeted图像滤波器HDL工具箱™块。它还使用计算机视觉工具箱™块。
模型的关键特性hardware-targeted视频处理的仿真软件®是:金宝app
流像素接口:在视觉块高密度脂蛋白工具箱使用流像素接口。硬件设计的串行处理是有效的,因为您需要更少的内存来存储像素数据计算。串行接口允许块图像大小和格式的独立运作,使设计更有弹性的视频时间错误。为进一步的信息,请参阅流像素接口。
子系统针对HDL代码生成:设计一个hardware-friendly pixel-streaming视频处理模型通过选择块从视觉上高密度脂蛋白工具箱库。设计针对HDL代码生成的部分必须在一个单独的子系统。
转换为框架的视频:对于验证,您可以显示视频或比较不定位的结果你hardware-compatible设计与仿真软件行为模型的输出。金宝app视觉HDL工具箱提供了一块,允许你反序列化的输出设计。
开放模式模板
本教程使用仿真软件模型模板开始。金宝app
点击模型按钮,或类型金宝app金宝app
在MATLAB®命令提示符。在仿真软件启动金宝app页面,找到视觉HDL工具箱部分,单击基本模型模板。
模板创建一个新的模型,您可以定制。保存模型用一个新的名字。
导入数据
模板包括一个视频源块,包含一个240 p的视频样本。每个像素是一个标量uint8
代表强度值。一个最佳实践是使用一个小框架设计和调试您的设计尺寸快速调试周期,扩大到更大的图像大小。你可以使用这个240 p源调试设计针对1080 p的视频。
序列化数据
帧的像素块转换框架视频像素的流和控制结构。这个块提供的输入子系统针对HDL代码生成,但它本身不支持HDL代码生成。金宝app
模板包括物体的一个实例。与标准模拟视频格式,选择一个预定义的视频填充格式以匹配您的输入源。模拟图像尺寸订做,选择活动区域的尺寸你想要围绕图像。本教程使用一个标准的视频格式。
打开帧像素块对话框查看设置。源在240 p视频灰度格式。一个标量整数表示每个像素的强度值。来匹配输入视频,集数量的组件1,视频格式240 p。
注意:视频源的样品时间必须匹配的像素总数在帧尺寸选择像素块的帧。样品时间每行像素总数×共线。在InitFcn
回调,该模板创建一个工作空间变量,totalPixels
,一个240 p的样品时间框架。
设计HDL-Compatible模型
设计一个子系统针对HDL代码生成,通过修改HDL算法子系统。子系统的输入和输出端口使用流像素格式在前一节中描述。打开HDL算法子系统来编辑它。
在模型库浏览器金宝app,点击视觉HDL工具箱。你也可以通过输入打开这个图书馆visionhdllib
在MATLAB命令提示符。
选择一个图像处理。下面的例子使用了图像滤波块滤波子程序库。您还可以访问这个图书馆通过输入visionhdlfilter
在MATLAB命令提示符。图像过滤块添加到高密度脂蛋白算法子系统和连接端口。
打开图像过滤块和做以下更改:
集滤波器系数来
(4,4)/ 16
实现一个4×4模糊操作。集填充方法来
对称的
。集线缓冲区大小2的乘方,提供活动所需的管道尺寸最大的帧格式。这个参数不影响仿真速度,所以它不需要减少当模拟小测试图像。2048年违约,容纳1080 p的视频格式。
在数据类型选项卡,在数据类型,设置系数来
fixdt (0、1、4)
。
设计行为模型
你可以视觉上或数学比较HDL-targeted设计行为模型来验证硬件设计和监督量化误差。模板包括一个行为模型与框架子系统的输入和输出端口。双击编辑它的行为模型。
对于本教程,添加二维滤波器(计算机视觉工具箱)从计算机视觉的工具箱™块。这个块过滤器整个框架。
打开2 - d冷杉过滤块,进行以下更改来匹配图像滤波器的配置块从视觉HDL工具箱:
集系数来
(4,4)/ 16
实现一个4×4模糊操作。集填充选项来
对称的
。在数据类型选项卡,在数据类型,设置系数来
fixdt (0、2、4)
。
反序列化像素流过滤
使用像素帧块模板中包括反序列化的数据显示。
打开帧的像素块。将形象维度属性设置为匹配输入视频和设置指定帧的像素块。对于本教程,数量的组件设置为1,视频格式设置为240 p。块转换输出像素和控制信号流回到一个矩阵代表一个框架。
显示结果并比较行为模型
使用视频查看器块模板比较输出中包含帧视觉。的validOut
信号帧的像素块连接到启用
港口的查看器。运行模型来显示结果。
生成HDL代码
一旦你的设计是在仿真工作,您可以使用HDL编码器™产生高密度脂蛋白HDL代码算法子系统。看到从模型生成HDL代码金宝app。