主要内容

在MATLAB Pixel-Streaming设计

这个例子展示了如何使用视觉HDL设计pixel-stream视频处理算法工具箱™MATLAB®环境中对象和生成HDL代码的设计。

这个例子也测试设计使用一个小缩略图减少模拟时间。模拟较大的图像,比如1080 p的视频格式,使用MATLAB编码器™加速模拟。看到加速Pixel-Streaming使用MATLAB编码器的设计

试验台

在试验台PixelStreamingDesignHDLTestBench.m,videoIn对象从一个视频源读取每一帧,然后转换成灰度,然后imresize用于减少这个框架从240 p缩略图大小为了模拟速度。这个缩略图传递给frm2pix对象,该对象将完整图像帧的像素和控制结构。这个函数PixelStreamingDesignHDLDesign.m然后叫来处理一个像素(及其相关的控制结构)。在我们处理整个pixel-stream并收集输出流,pix2frm对象输出流转换为帧视频。的查看器对象并排显示输出和原始图像。

上面的工作流实现下面的行PixelStreamingDesignHDLTestBench.m

…对f = 1: numFrm frmFull = rgb2gray (readFrame (videoIn));%得到一个新的帧frmIn = imresize (frmFull, [actLine actPixPerLine]);%减少帧大小
[pixInVec, ctrlInVec] = frm2pix (frmIn);p = 1: numPixPerFrm pixOutVec (p), ctrlOutVec (p)] = PixelStreamingDesignHDLDesign (pixInVec (p), ctrlInVec (p));结束frmOut = pix2frm (pixOutVec ctrlOutVec);
查看器([frmIn frmOut]);结束……

这两个frm2pixpix2frm用于帧和pixel-stream域之间的转换。内循环执行pixel-stream处理。其余的试验台进行帧处理(例如,videoIn,imresize,查看器)。

在试验台终止之前,显示帧率来说明仿真速度。

Pixel-Stream设计

中定义的函数PixelStreamingDesignHDLDesign.m接受一个像素流和五个控制信号,并返回一个修改后的像素流和控制信号。更多信息的流媒体系统对象像素协议使用的视觉HDL工具箱,明白了流像素接口

在这个例子中,函数包含伽马校正系统对象。

这个例子是工作流的焦点,而不是算法设计本身。因此,设计代码非常简单。一旦你熟悉了工作流程,直接实现先进的视频算法利用系统提供的功能对象从视觉HDL工具箱。

模拟设计

模拟试验台的设计之前,HDL代码生成,以确保没有运行时错误。

PixelStreamingDesignHDLTestBench;
10帧已经在38.30秒内处理。平均帧速率为0.26帧/秒。

查看器显示原始视频左边,右边的输出。人们可以清楚地看到,γ操作导致一个更光明的形象。

输入以下命令,以创建一个新的高密度脂蛋白编码器™项目,

编码器-hdlcoder不管是新PixelStreamingDesignProject

然后,添加文件PixelStreamingDesignHDLDesign.m项目的MATLAB函数PixelStreamingDesignHDLTestBench.mMATLAB试验台。

开始使用MATLAB对高密度脂蛋白的工作流(高密度脂蛋白编码器)在创建并填充MATLAB教程HDL编码项目。

启动工作流顾问。在工作流顾问,右键单击“代码生成”的一步。选择“运行选中的任务”从一开始就运行的所有步骤通过HDL代码生成。

检查生成的HDL代码在日志窗口中通过单击链接。