visionhdl.FrameToPixels
框架的视频转换成像素流
描述
的visionhdl.FrameToPixels
系统对象™转换颜色或灰度框架视频像素流和控制结构。控制结构表示每个像素的有效性和它的位置。像素流格式可以包括填充像素周围活动的框架。您可以配置框架和填充维度通过选择一个通用的视频格式或通过指定自定义维度。像素流格式的详细信息,请参阅流像素接口。
使用这个对象生成的输入函数针对HDL代码生成。这个对象本身不支持HDL代码生成。万博1manbetx
如果你的设计将帧转换为一个像素流,后来将流回帧,指定相同的视频格式FrameToPixels
对象和PixelsToFrame
对象。
将框架视频像素流:
创建
visionhdl.FrameToPixels
对象并设置其属性。调用对象的参数,就好像它是一个函数。
了解更多关于系统对象是如何工作的,看到的系统对象是什么?
创建
描述
返回一个系统对象序列化输入帧像素流。设置属性使用一个或多个名称-值对。在单引号附上每个属性的名字。免费
= visionhdl.FrameToPixels (的名字
,价值
)
属性
属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放
函数打开它们。
如果一个属性可调在任何时候,你可以改变它的值。
改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象。
NumComponents
- - - - - -用来表示每个像素的值
1
(默认)|2
|3
|4
用来表示每个像素数量的值,指定为1
,2
,3
,或4
组件。
灰度视频,设置该属性
1
。颜色的视频,例如,{R, G, B}或{Y, Cb, Cr},设置该属性
3
。彩色视频与透明度的alpha通道,设置该属性
4
。
的visionhdl.FrameToPixels
返回一个对象P——- - - - - -NumComponents
矩阵,P像素的总数在填充框架。
依赖关系
当NumComponents
大于1,您必须设置NumPixels
财产1
。
NumPixels
- - - - - -每个时间步的像素流数
1
(默认)|2
|4
|8
传输的像素数量为每个周期流接口,指定为1
,2
,4
,或8
。使multipixel流和增加吞吐量高分辨率和高的帧率视频,设置该属性2
,4
,或8
。的visionhdl.FrameToPixels
返回一个对象P——- - - - - -NumPixels
矩阵,P像素的总数在填充框架。
请注意
你可以用multipixel流模拟系统对象接口,但是你不能生成系统对象的HDL代码使用multipixel流。为multipixel算法生成HDL代码,使用等效模型万博1manbetx®块。
依赖关系
当NumPixels
大于1,您必须设置NumComponents
财产1
。
VideoFormat
- - - - - -维活跃的和不活跃的地区视频帧
“1080 p”
(默认)|“240 p”
|“480 p”
|480 ph值
|“576 p”
|“720 p”
|“768 p”
|“1024 p”
|“1200 p”
|“2 kcinema”
|“4 kuhdtv”
|“8 kuhdtv”
|“自定义”
维活跃的和不活跃地区的视频帧。选择一个预定义的格式,指定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
。计算的对象“
=TotalPixelsPerLine
−FrontPorch
−ActivePixelsPerLine
。
垂直方向的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
至少是内核的宽度。
使用
描述
输入参数
纳
- - - - - -输入图像
矩阵
输入图像,作为指定ActiveVideoLines
——- - - - - -ActivePixelsPerLine
——- - - - - -NumComponents
矩阵,地点:
ActiveVideoLines
的高度活跃的形象。ActivePixelsPerLine
动态图像的宽度。NumComponents
是组件的数量被用来表达一个像素。
设置动态图像的大小使用VideoFormat
财产。如果的尺寸纳
不匹配指定的尺寸吗VideoFormat
,对象返回一个警告。
数据类型:使用uint
|int
|逻辑
|fi
|双
|单
输出参数
像素
——像素值
矩阵
像素值,作为一个返回P——- - - - - -NumComponents
矩阵或P——- - - - - -NumPixels
矩阵,地点:
P在填充图像像素的总数,是哪一个
TotalPixelsPerLine
×TotalVideoLines
。NumComponents
是组件的数量被用来表达一个像素。NumPixels
是像素的数量每周期流接口上的转移。当NumPixels
大于1,你必须准备好了吗NumComponents
来1
。请注意
你可以用multipixel流模拟系统对象接口,但是你不能生成系统对象的HDL代码使用multipixel流。为multipixel算法生成HDL代码,使用等效模型块。万博1manbetx
设置填充图像的大小使用VideoFormat
财产。像素值的数据类型是一样的即时通讯
。
ctrlOut
像素流控制信号
向量的结构
控制结构与输出像素有关,作为一个返回P1的向量。P在填充图像像素的总数,是哪一个TotalPixelsPerLine
×TotalVideoLines
。每个结构都包含五个控制信号显示像素的有效性及其位置。对于multipixel流,控制信号应用于每组NumPixels
值。看到像素控制结构。
对象的功能
使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj
使用这个语法:
发行版(obj)
例子
在全画幅和Pixel-Streaming数据之间进行转换
这个例子定义灰度图像转换为一个像素。它使用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)输出图像的结束
版本历史
介绍了R2015aR2022a:改变默认的帧尺寸
默认值的自定义格式已经改变了。在以前的版本中,默认维度匹配1080 p的格式。从这个版本开始,默认值匹配的默认值帧像素和像素帧块,它定义一个小定制框架,这段代码所示。
一个= visionhdl.FrameToPixels (“VideoFormat”,“自定义”)
一个= visionhdl。FrameToPixelswith properties: NumComponents: 1 NumPixels: 1 VideoFormat: 'Custom' ActivePixelsPerLine: 32 ActiveVideoLines: 18 TotalPixelsPerLine: 42 TotalVideoLines: 28 StartingActiveLine: 6 FrontPorch: 5
对象现在更新帧维度属性,当你选择一个标准格式。这种变化意味着你可以引用对象属性来确定尺寸使用的格式。
一个= visionhdl.FrameToPixels (“VideoFormat”,“480 p”)
一个= visionhdl。FrameToPixelswith properties: NumComponents: 1 NumPixels: 1 VideoFormat: '480p'
TPPL480 = a.TotalPixelsPerLine
ans = 800
R2022a:两个pixels-per-clock流
对象现在可以生成multipixel流,每个时钟周期有2个像素。
你可以用multipixel流模拟系统对象接口,但是你不能生成系统对象的HDL代码使用multipixel流。为multipixel算法生成HDL代码,使用等效模型块。万博1manbetx
R2020a:Multipixel-multicomponent流
现在可以生成multipixel-multicomponent流的对象。
你可以用multipixel流模拟系统对象接口,但是你不能生成系统对象的HDL代码使用multipixel流。为multipixel算法生成HDL代码,使用等效模型块。万博1manbetx
R2019b:Multipixel流
现在可以生成multipixel流的对象。这些流4或8像素每个时钟周期。你可以设置NumPixels
财产4
或8
。这个设置,对象是一个向量的输出4或8像素值在每个时间步。
视频格式multipixel流一定水平维度整除NumPixels
属性值。这些水平维度设置以下属性:ActivePixelsPerLine
,TotalPixelsPerLine
,FrontPorch
,“
。标准协议480 p的视频,720 p, 1080 p和4 k UHD支持4或8个像素。万博1manbetx
你可以用multipixel流模拟系统对象接口,但是你不能生成系统对象的HDL代码使用multipixel流。为multipixel算法生成HDL代码,使用等效模型块。万博1manbetx
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。