主要内容

visionhdl。PixelsToFrame

将像素流转换为基于帧的视频

描述

visionhdl。PixelsToFrame系统对象™将颜色或灰度像素流和控制结构转换为基于帧的视频。控制结构表示每个像素的有效性及其在帧中的位置。像素流格式可以包括活动帧周围的填充像素。您可以通过选择常用视频格式或指定自定义尺寸来配置帧和填充尺寸。像素流格式请参见流媒体像素接口

使用此对象将针对HDL代码生成的函数的输出转换回帧。对象本身不支持HDL代码生成。金宝app

如果您的设计将帧转换为像素流,然后将流转换回帧,请为FrameToPixels对象和PixelsToFrame对象。

将像素流转换为基于帧的视频:

  1. 创建visionhdl。PixelsToFrame对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

例子

P2F= visionhdl。PixelsToFrame(的名字价值返回一个将像素流转换为图像帧的System对象。使用一个或多个名称-值对设置属性。将每个属性名用单引号括起来。

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

用于表示每个像素的值的数目,指定为123.,或4组件。

  • 对于灰度视频,将此属性设置为1

  • 对于彩色视频,例如{R,G,B}或{Y,Cb,Cr},将此属性设置为3.

  • 对于带有alpha通道的彩色视频,将此属性设置为4

visionhdl。PixelsToFrame对象期望的矩阵为P——- - - - - -NumComponents值,P填充帧中的像素总数。

依赖关系

NumComponents大于1时,必须设置NumPixels财产1

每个周期在流媒体界面上传输的像素数,指定为124,或8.若要启用多像素流媒体并提高高分辨率或高帧率视频的吞吐量,请将此属性设置为24,或8.的visionhdl。PixelsToFrame对象期望P——- - - - - -NumPixels矩阵,P填充帧中的像素总数。

请注意

可以使用多像素流接口模拟System对象,但不能为使用多像素流的System对象生成HDL代码。要为多像素算法生成HDL代码,请使用等效的Simulink金宝app®块。

依赖关系

NumPixels大于1时,必须设置NumComponents财产1

视频帧活动区域的尺寸。要选择预定义的格式,请指定VideoFormat属性作为表的第一列中的选项之一。对于自定义格式,请设置VideoFormat“自定义”,并将维度属性指定为整数。

视频格式 每行活动像素 活动视频线路
240便士 320 240
480便士 640 480
ph值480 720 480
576便士 720 576
720便士 1280 720
768便士 1024 768
1024便士 1280 1024
1080便士(默认) 1920 1080
1200便士 1600 1200
2 kcinema 2048 1080
4 kuhdtv 3840 2160
8 kuhdtv 7680 4320
自定义 用户-
定义
用户-
定义

使用

描述

例子

validOut= p2f (像素ctrlIn转换表示填充图像的像素值的向量,像素,和控制结构的相关向量,ctrlIn,到图像矩阵,.控制结构表示每个像素的有效性及其在帧中的位置。输出图像,,如果是有效的validOut真正的

像素流格式请参见流媒体像素接口

输入参数

全部展开

像素值,指定为aP——- - - - - -NumComponents矩阵,或P——- - - - - -NumPixels矩阵,地点:

  • P是填充图像中的像素总数,是TotalPixelsPerLine×TotalVideoLines

  • NumComponents用于表示单个像素的组件数。

  • NumPixels每周期在流媒体接口上传输的像素数。当NumPixels大于1,必须设置吗NumComponents1

    请注意

    可以使用多像素流接口模拟System对象,但不能为使用多像素流的System对象生成HDL代码。要为多像素算法生成HDL代码,请使用等效的Simulink块。金宝app

属性设置填充图像的大小VideoFormat财产。如果元素的个数像素与指定的尺寸不匹配VideoFormat,该对象返回一个警告。

数据类型:使用uint|int|逻辑|fi||

与输入像素相关联的控制结构,指定为P1的向量。P是填充图像中的像素总数,是TotalPixelsPerLine×TotalVideoLines.每个结构包含五个控制信号,指示像素的有效性及其在帧中的位置。对于多像素流,控制信号适用于每一组NumPixels值。看到像素控制结构

输出参数

全部展开

输出图像,返回为ActiveVideoLines——- - - - - -ActivePixelsPerLine——- - - - - -NumComponents矩阵,地点:

  • ActiveVideoLines是活动图像的高度。

  • ActivePixelsPerLine是活动图像的宽度。

  • NumComponents用于表示单个像素的组件数。

像素的数据类型与输入相同像素

数据类型:使用uint|int|逻辑|fi||

帧状态,作为逻辑值返回。当validOut为真时,框架已重新组装并准备使用。

数据类型:逻辑

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

此示例将自定义大小的灰度图像转换为像素流。它使用visionhdl。LookupTable对象获取负图像。然后它将像素流转换回全帧图像。

从文件中加载源图像。选择与所需测试大小匹配的图像部分。

from morig = imread(“rice.png”);frmActivePixels = 64;frmActiveLines = 48;frmInput = frmOrig(1:frmActiveLines,1:frmActivePixels);图imshow (frmInput,“InitialMagnification”标题,300)输入图像的

图中包含一个轴对象。标题为Input Image的axes对象包含一个Image类型的对象。

创建一个序列化器对象并指定非活动像素区域的大小。

Frm2pix = visionhdl。FrameToPixels (...“NumComponents”, 1...“VideoFormat”“自定义”...“ActivePixelsPerLine”frmActivePixels,...“ActiveVideoLines”frmActiveLines,...“TotalPixelsPerLine”frmActivePixels + 10,...“TotalVideoLines”frmActiveLines + 10,...“StartingActiveLine”6...“FrontPorch”5);

创建一个查找表(LUT)对象来生成输入图像的底片。

Tabledata = linspace(255,0,256);逆变器= visionhdl.LookupTable(tabledata);

通过调用序列化器对象序列化测试映像。pixIn是强度值的向量。ctrlIn是一种矢量控制信号结构。

[pixIn,ctrlIn] = frm2pix(frmInput);

准备通过预分配输出向量来处理像素。

[~,~,numPixelsPerFrame] = getparamfromfrm2pix(frm2pix);pixOut = 0 (numPixelsPerFrame,1,“uint8”);ctrlOut = repmat(pixelcontrolstruct,numPixelsPerFrame,1);

对于流中的每个像素,查找像素值的负数。

p = 1:numPixelsPerFrame [pixOut(p),ctrlOut(p)] =逆变器(pixIn(p),ctrlIn(p));结束

创建格式与序列化器格式匹配的反序列化器对象。通过调用反序列化对象将像素流转换为图像帧。显示结果图像。

Pix2frm = visionhdl。PixelsToFrame (...“NumComponents”, 1...“VideoFormat”“自定义”...“ActivePixelsPerLine”frmActivePixels,...“ActiveVideoLines”frmActiveLines,...“TotalPixelsPerLine”, frmActivePixels + 10);[frmOutput,frmValid] = pix2frm(pixOut,ctrlOut);如果(frmOutput,“InitialMagnification”标题,300)输出图像的结束

图中包含一个轴对象。标题为Output Image的axes对象包含一个Image类型的对象。

版本历史

在R2015a中引入

全部展开