Simulink中HDL设计视频处理算法万博1manbetx

本教程介绍如何使用Vision HDL Toolbox™块设计硬件目标图像过滤器。它还使用计算机Vision Toolbox™块。

Simulink®中硬件针对视频处理模型的关键特征是:万博1manbetx

  • 流媒体像素接口:Vision HDL工具箱中的块使用流媒体像素接口。串行处理对于硬件设计是有效的,因为需要更少的存储器来存储用于计算的像素数据。串行接口允许块独立于图像尺寸和格式操作,并使设计更加适用于视频定时错误。有关详细信息,请参阅流媒体像素接口

  • 针对HDL代码生成的子系统:通过从Vision HDL Toolbox库中选择块来设计硬件友好的像素流式视频处理模型。针对HDL代码生成的设计的一部分必须位于单独的子系统中。

  • 转换为基于帧的视频:有关验证,您可以使用Simulink行为模型的输出显示基于帧的视频或比较硬件兼容设计的结果。万博1manbetxVision HDL Toolbox提供了一个块,允许您将设计的输出进行反序列化。

打开模型模板

本教程使用Simulink Model模板万博1manbetx开始。

单击Simulink万博1manbetx按钮或类型万博1manbetx在MATLAB®命令提示符下。在Simuli万博1manbetxnk Start页面上,找到Vision HDL Toolbox部分,然后单击基本模型模板。

该模板创建了一个可以自定义的新模型。使用新名称保存模型。

导入数据

该模板包括一个包含240P视频样本的视频源块。每个像素是标量uint8.表示强度的值。最佳实践是使用小型帧大小设计和调试设计,以便快速调试循环,在缩放到更大的图像尺寸之前。您可以使用此240P源来调试目标为1080p视频的设计。

序列化数据

像素块的帧将帧视频转换为像素流和控制结构。此块为目标用于HDL代码生成的子系统提供输入,但它本身并不支持HDL代码生成。万博1manbetx

该模板包括此块的实例。要使用标准视频格式模拟,请选择预定义的视频填充格式以匹配输入源。要使用自定义尺寸映像进行模拟,请选择要使用的非活动区域的尺寸。本教程使用标准视频格式。

打开框架到“像素块”对话框以查看设置。源视频采用240p灰度格式。标量整数表示每个像素的强度值。匹配输入视频,设置组件数量到1,和视频格式到240便士。

注意:视频源的采样时间必须与您在帧中选择的帧大小中的像素总数匹配到像素块。将采样时间设置为每行总像素×总线。在里面initfcn.回调,模板创建工作区变量,总公司,对于240P帧的采样时间。

设计HDL兼容型号

通过修改HDL算法子系统,设计针对HDL代码生成的子系统。子系统输入和输出端口使用上一节中描述的流式像素格式。打开HDL算法子系统以编辑它。

在Simuli万博1manbetxnk库浏览器中,单击“视觉HDL”工具箱。您还可以通过键入打开此库Visionhdllib.在matlab命令提示符下。

选择图像处理块。这个例子使用了图像过滤器从过滤的子纤维纤维纤维化块。您还可以通过键入来访问此库Visionhdlfilter在matlab命令提示符下。将图像过滤器块添加到HDL算法子系统并连接端口。

打开图像过滤器块并进行以下更改:

  • 滤波器系数那些(4,4)/ 16实现4×4模糊操作。

  • 填充方法对称

  • 行缓冲区大小到2的功率,可容纳所需帧格式的最大帧格式的有效线大小。此参数不会影响模拟速度,因此在使用小测试图像模拟时不需要减少。默认值为2048,可容纳1080p视频格式。

  • 在这一点数据类型标签,下面数据类型, 放系数Fixdt(0,1,4)

设计行为模型

您可以用行为模型在视觉上或数学上比较您的HDL目标设计,以验证硬件设计和监视量化错误。该模板包括具有基于帧的输入和输出端口的行为模型子系统,为此目的。双击行为模型以编辑它。

对于本教程,添加2-D FIR滤波器计算机视觉系统工具箱块。此块立即过滤整个帧。

打开2-D FIR筛选器块,并进行以下更改以匹配Vision HDL Toolbox的图像过滤器块的配置:

  • 系数那些(4,4)/ 16实现4×4模糊操作。

  • 填充选项对称

  • 在这一点数据类型标签,下面数据类型, 放系数Fixdt(0,2,4)

将过滤的像素流进行反序列化

使用模板中包含的像素到包含帧块以将数据进行反序列化以进行显示。

打开像素到帧块。设置图像维度属性以匹配输入视频和帧中指定的设置到像素块。本教程,组件数量设置为1和视频格式设置为240p。块将输出像素流和控制信号转换回代表帧的矩阵。

显示结果并与行为模型进行比较

使用模板中包含的视频查看器块在视觉上比较输出帧。这验证对帧块的像素的信号连接到使能够观众的港口。运行模型以显示结果。

生成HDL代码

一旦您的设计在仿真中工作,就可以使用HDL Coder™为HDL算法子系统生成HDL代码。看从Simulink生成HDL代码万博1manbetx

相关例子

更多关于