主要内容

visionhdl.FrameToPixels

框架的视频转换成像素流

描述

visionhdl.FrameToPixels系统对象™转换颜色或灰度框架视频像素流和控制结构。控制结构表示每个像素的有效性和它的位置。像素流格式可以包括填充像素周围活动的框架。您可以配置框架和填充维度通过选择一个通用的视频格式或通过指定自定义维度。像素流格式的详细信息,请参阅流像素接口

使用这个对象生成的输入函数针对HDL代码生成。这个对象本身不支持HDL代码生成。万博1manbetx

如果你的设计将帧转换为一个像素流,后来将流回帧,指定相同的视频格式FrameToPixels对象和PixelsToFrame对象。

将框架视频像素流:

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

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

例子

免费= visionhdl.FrameToPixels (的名字,价值)返回一个系统对象序列化输入帧像素流。设置属性使用一个或多个名称-值对。在单引号附上每个属性的名字。

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

用来表示每个像素数量的值,指定为1,2,3,或4组件。

  • 灰度视频,设置该属性1

  • 颜色的视频,例如,{R, G, B}或{Y, Cb, Cr},设置该属性3

  • 彩色视频与透明度的alpha通道,设置该属性4

visionhdl.FrameToPixels返回一个对象P——- - - - - -NumComponents矩阵,P像素的总数在填充框架。

依赖关系

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

传输的像素数量为每个周期流接口,指定为1,2,4,或8。使multipixel流和增加吞吐量高分辨率和高的帧率视频,设置该属性2,4,或8。的visionhdl.FrameToPixels返回一个对象P——- - - - - -NumPixels矩阵,P像素的总数在填充框架。

请注意

你可以用multipixel流模拟系统对象接口,但是你不能生成系统对象的HDL代码使用multipixel流。为multipixel算法生成HDL代码,使用等效模型万博1manbetx®块。

依赖关系

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

维活跃的和不活跃地区的视频帧。选择一个预定义的格式,指定VideoFormat房地产作为一个选项表的第一列。为一个自定义的格式,设置VideoFormat“自定义”为整数,并指定维度属性。框架尺寸在图中表示。

维活跃的和不活跃地区的视频帧,贴上相应的属性名

视频格式 活跃的每行像素 活跃的视频线 每行像素总数 总视频线 开始积极行 结束积极行 门廊 后门廊
240便士 320年 240年 402年 324年 1 240年 44 38
480便士 640年 480年 800年 525年 36 515年 16 144年
ph值480 720年 480年 858年 525年 33 512年 16 122年
576便士 720年 576年 864年 625年 47 622年 12 132年
720便士 1280年 720年 1650年 750年 25 744年 110年 260年
768便士 1024年 768年 1344年 806年 10 777年 24 296年
1024便士 1280年 1024年 1688年 1066年 42 1065年 48 360年
1080便士(默认) 1920年 1080年 2200年 1125年 42 1121年 88年 192年
1200便士 1600年 1200年 2160年 1250年 50 1249年 64年 496年
2 kcinema 2048年 1080年 2750年 1125年 42 1121年 639年 63年
4 kuhdtv 3840年 2160年 4400年 2250年 42 2201年 88年 472年
8 kuhdtv 7680年 4320年 8800年 4500年 42 4361年 88年 1032年
自定义 用户-
定义
用户-
定义
用户-
定义
用户-
定义
用户-
定义
用户-
定义
用户-
定义
用户-
定义

请注意

当使用一个自定义格式,活跃的和不活跃的维度的属性输入图像必须加起来的总框架的维度。

水平方向上,TotalPixelsPerLine必须大于或等于FrontPorch+ActivePixelsPerLine。计算的对象=TotalPixelsPerLineFrontPorchActivePixelsPerLine

垂直方向的TotalVideoLines必须大于或等于StartingActiveLine+ActiveVideoLines−1。计算的对象EndingActiveLine=StartingActiveLine+ActiveVideoLines−1。

如果指定的格式不符合这些规则,对象就会报告错误。

请注意

当使用一个自定义的格式,ActivePixelsPerLine必须大于1。同时,设置水平消隐间隔,或者+FrontPorch根据这些准则。

  • 的总+FrontPorch必须至少2次最大的内核算法后的对象的大小visionhdl.FrameToPixels对象。如果内核大小大于4,总玄关必须至少8像素。

  • 属性值必须至少6像素。这个属性是不活跃的像素的数量之前第一个有效像素在一个框架。

消隐间隔的更多信息,请参阅配置消隐间隔

请注意

当使用multipixel流(NumPixels> 1),这些需求申请。

  • 视频格式必须水平维度整除NumPixels属性值。水平维度设置这些属性:ActivePixelsPerLine,TotalPixelsPerLine,FrontPorch,。标准协议480 p的视频,768 p, 1024 p, 1080 p, 1200 p, 4 k UHD, 8 k UHD支持万博1manbetxNumPixels等于4或8。

  • multipixel流的最小输入帧大小是18行由32列。

  • 选择你的内核大小和ActivePixelsPerLine这样ActivePixelsPerLine/NumPixels至少是内核的宽度。

使用

描述

例子

(像素,ctrlOut)=免费()将输入图像转换矩阵,一个矢量的像素值,像素,和一个相关的矢量控制结构,ctrlOut。控制结构表示每个像素的有效性和它的位置。在动态图像输出像素包括填充,指定的VideoFormat财产。

像素流格式的详细信息,请参阅流像素接口

输入参数

全部展开

输入图像,作为指定ActiveVideoLines——- - - - - -ActivePixelsPerLine——- - - - - -NumComponents矩阵,地点:

  • ActiveVideoLines的高度活跃的形象。

  • ActivePixelsPerLine动态图像的宽度。

  • NumComponents是组件的数量被用来表达一个像素。

设置动态图像的大小使用VideoFormat财产。如果的尺寸不匹配指定的尺寸吗VideoFormat,对象返回一个警告。

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

输出参数

全部展开

像素值,作为一个返回P——- - - - - -NumComponents矩阵或P——- - - - - -NumPixels矩阵,地点:

  • P在填充图像像素的总数,是哪一个TotalPixelsPerLine×TotalVideoLines

  • NumComponents是组件的数量被用来表达一个像素。

  • NumPixels是像素的数量每周期流接口上的转移。当NumPixels大于1,你必须准备好了吗NumComponents1

    请注意

    你可以用multipixel流模拟系统对象接口,但是你不能生成系统对象的HDL代码使用multipixel流。为multipixel算法生成HDL代码,使用等效模型块。万博1manbetx

设置填充图像的大小使用VideoFormat财产。像素值的数据类型是一样的即时通讯

控制结构与输出像素有关,作为一个返回P1的向量。P在填充图像像素的总数,是哪一个TotalPixelsPerLine×TotalVideoLines。每个结构都包含五个控制信号显示像素的有效性及其位置。对于multipixel流,控制信号应用于每组NumPixels值。看到像素控制结构

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

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

例子

全部折叠

这个例子定义灰度图像转换为一个像素。它使用visionhdl.LookupTable对象获得负面形象。然后它将像素流回帧图像。

从文件加载源图像。选择部分图像匹配所需的测试尺寸。

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

图包含一个坐标轴对象。标题输入图像的坐标轴对象包含一个类型的对象的形象。

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

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

词根创建一个查找表(LUT)对象产生负的输入图像。

tabledata = linspace (255、0256);逆变器= visionhdl.LookupTable (tabledata);

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

[pixIn, ctrlIn] = frm2pix (frmInput);

准备处理preallocating像素的输出向量。

[~,~,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);如果frmValid图imshow (frmOutput,“InitialMagnification”标题,300)输出图像的结束

图包含一个坐标轴对象。标题为输出图像的坐标轴对象包含一个类型的对象的形象。

版本历史

介绍了R2015a

全部展开