主要内容

与基于Zynq的硬件锐化的图像锐化

这个例子展示了如何使用基于Xilinx®Zynq的硬件的Vision HDL工具箱™支持包将图像锐化算法定位到Zynq®硬件。金宝app

所需产品:下载188bet金宝搏

  • 金宝appSimulink®.

  • 视觉HDL工具箱

  • 计算机Vision Toolbox™

  • 高密度脂蛋白编码器™

  • 用于Xilinx Z金宝appynq平台的HDL编码器支持包

可选地,生成、编译和瞄准Zynq ARM®软件生成模型:

  • 嵌入式编码器®

  • Xilinx Zynq平台的嵌金宝app入式编码器支持包

介绍

此示例遵循算法开发工作流程详述开发基于Zynq的硬件的视觉算法基于zynq的硬件>算法示例。如果您还没有这样做,请通过该示例来更好地理解所需的工作流。

该算法基于Vision HDL工具箱示例,去噪和图像锐化但是,在该示例中,仅实现图像锐化算法。使用基于Zynq的金宝appVision硬件的支持包,您可以获得硬件参考设计,允许在视觉系统的上下文中轻松集成目标算法。

设置

如果您还没有这样做,请运行Zynq支持包安装的向导部分。金宝app在安装这个支持包时,您可能已经完成了这个步骤。金宝app

在matlab上标签,在环境部分的将来发布, 点击Add-Ons >管理Add-Ons.定位基于Xilinx zynq硬件的Vis金宝appion HDL工具箱支持包,然后单击设置

引导的设置向导执行了许多初始设置步骤,并确认目标可以引导,并且主机和目标可以进行通信。

有关更多信息,请参阅步骤1.设置清单

像素流模型

该模型为针对HDL的算法提供了像素流实现。而不是在完整的图像上工作,hdl就绪算法工作在像素流接口。该模型使用Y只调整块,它允许调整源视频帧的大小,以获得更好的模拟性能。或者,您可能希望对视频帧进行裁剪。阴影区域中的块与像素流信号进行转换,为目标定位做准备。

视频源这个例子的源视频来自来自多媒体文件块,从多媒体文件或从视频捕捉块,从连接到基于Zynq的硬件的HDMI源捕获实时视频帧。要配置源,请右键单击左下角的变体选择图标图片来源块,选择标签模式有效选择,然后选择文件HW.

对于该算法,模型配置如下:

  • 只有y的像素格式。将该算法写入y像素格式,兼而有之来自多媒体文件视频捕捉块被配置为以这种格式传送视频帧。其他支持的像金宝app素格式有YCbCr 4:2:2和RGB。

算法配置该算法除了处理图像锐化的图像外,还有一些控制。

  • dsSharpen映射到Zynq板的拨码开关,当拨码开关开启时,将绕过锐化算法,输出原始视频流。

请注意,dsSharpen控制端口是目标设计中的纯硬件连接。这些端口可以以任何所需的速率运行,包括以像素时钟速率。

在第一帧仿真输出过程中,视频查看器范围显示黑色图像。此条件表示没有可用的图像数据。此行为是因为必须缓冲像素流算法的输出以在显示之前形成全帧。

您可以选择在不使用硬件的情况下运行此模拟。若要修改模拟性能的帧大小,请更改帧大小的价值Y只调整仅用于Y的帧到像素,仅限y帧的像素块。帧大小越低,模拟将运行越快。最小帧大小为240p。

目标的算法

在对像素流算法仿真满意后,可以将像素流算法在Zynq板上的FPGA上进行定位。

在为目标定位做准备时,通过调用来设置Xilinx工具链hdl setuptoolpath..例如:

> > hdlsetuptoolpath ('toolname'“Xilinx Vivado”'工具路径''C:\ Xilinx \ Vivado \ 2020.1 \ bin \ vivado.bat');

执行hdl setuptoolpath.(HDL编码器)想要查询更多的信息。

通过右键单击启动目标工作流程图像锐化算法子系统和选择HDL代码> HDL工作流顾问

  • 在步骤1.1中,选择IP核心生成工作流程并从列表中选择您的目标平台。

  • 在步骤1.2中,选择Y只参考设计匹配的像素格式图像锐化算法子系统。将HW用户逻辑的其他端口映射到可用的硬件界面。对于此示例,地图dsSharpen拨码开关0。

  • 步骤2通过做一些设计检查来准备生成的设计。

  • 步骤3为IP核生成HDL代码。

  • 步骤4将新生成的IP核整合到更大的Vision Zynq参考设计中。

按顺序执行每个步骤以体验完整的工作流程,或者如果您已经熟悉了准备和HDL代码生成阶段,请右键单击左侧内容表中的步骤4.1,然后选择运行到选定的任务

  • 在步骤4.2中,工作流生成一个目标硬件接口模型,如果已安装Embedded Coder Zynq支持包,则生成一个Zynq软件接口模型。金宝app点击运行此任务按钮默认设置。

步骤4.3和4.4

工作流的其余部分为FPGA生成一个比特流,将其下载到目标,然后重新启动电路板。

由于此过程可能需要20-40分钟,因此您可以选择使用预先生成的比特流绕过此示例的此步骤,其中包含产品,并在安装过程中放置​​在SDCard上。

注意:该位流是在HDMI象素时钟限制为148.5 MHz的情况下生成的,用于1080p HDTV的最大分辨率为60帧/秒。要在更高分辨率的Zynq硬件上运行此示例,请从步骤1.2的下拉列表中选择Source Video resolution值。

要使用此预先生成的比特流执行以下内容:

>> vz = visionzynq();> > changeFPGAImage (vz“visionzynq-zedboard-hdmicam-image_sharpening.bit”);

若要在另一个平台上使用位流,请将'zedboard'替换为平台名。

或者,您可以继续步骤4.3和4.4。

使用从HDL工作流顾问生成的模型

步骤4.2根据是否安装了Embedded Coder生成两个或四个模型:一个“目标硬件接口”模型和关联库模型,以及一个“软件接口”模型和关联库模型。“目标硬件接口”模型可以用来控制来自Simulink模型的参考设计,而不需要Embedded Coder。金宝app当安装了Embedded Coder和Zynq (Embedd金宝apped Coder)支持包时,“软件接口”模型支持完全针对Zynq的软件,从而实现外部模式模拟、处理器在环和完全部署。

创建库模型,以便对硬件生成模型的任何更改传播到存在的任何自定义目标硬件仿真或软件界面模型。

目标硬件接口模型:在此模型中,您可以调整硬件用户逻辑的参考设计和读取或驱动控制端口的配置。在目标上运行时,这些配置更改会影响设计。您还可以从目标设​​备显示捕获的视频。

软件界面型号:在此模型中,您可以在外部模式下运行以控制参考设计的配置,并读取或驱动连接到Axi-Lite寄存器的硬件用户逻辑的任何控制端口。在目标上运行时,这些配置更改会影响设计。您可以使用此模型完全部署软件设计。(仅在安装嵌入式编码器和嵌入式编码器zynq支持包时,才生成此模型。)金宝app