主要内容

visionhdl.MeasureTiming

测量的时间输入像素控制结构

描述

visionhdl.MeasureTiming系统对象™视频流的定时参数的措施。愿景HDL工具箱™流像素协议实现了一个视频的时间系统,包括活动帧之间的时间间隔。这些不活跃的时间间隔称为消隐间隔。许多视觉HDL工具箱对象要求最低消隐间隔。你可以从这个对象使用的时间参数测量来检查你的视频满足这些需求。如果你操作控制信号的视频,您可以使用该对象来验证产生的控制信号。确定每一帧的参数,对象措施控制信号之间的时间步骤输入结构。

像素控制总线上的细节和一个视频帧的维度,明白了流像素接口。消隐间隔的更多信息,请参阅配置消隐间隔

测量输入像素的时机控制结构:

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

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

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

创建

描述

例子

= visionhdl.MeasureTiming返回一个系统对象测量的平均帧视频的时间。

使用

描述

例子

(activePixels,activeLines,totalPixels,totalLines,horizBlank,vertBlank)= MT (ctrlin)结合当前像素位置的计算视频帧时间。控制信号,ctrlin,与每个像素显示像素的位置相对于活跃的帧边界。输入对象的措施之间的时间步长控制信号来确定每一帧的参数。

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

输入参数

全部展开

控制信号的输入像素流,指定为一个pixelcontrol包含五个结构逻辑数据类型的信号。的信号描述像素的有效性和它的位置在框架。更多细节,请参阅像素控制结构

数据类型:结构体

输出参数

全部展开

图中显示的输出测量,确定从像素流控制信号。

逻辑分析仪波形显示六个控制信号之间的时间测量

  • 1——积极每行像素

  • 2-积极行每帧(计数hStart脉冲)

  • 3——总每行像素

  • 4——总线路每帧(周期除以总每行像素)

  • 5——水平消隐

  • 6垂直消隐(周期-水平消隐,除以总每行像素)

像素控制总线上的细节和一个视频帧的维度,明白了流像素接口

请注意

从第一个模拟测量框架是不正确的,因为一些参数需要测量之间的帧。在使用结果之前,模拟至少两帧。

这个值是衡量之间hStart这个到。看到标记1在图中。

数据类型:

这个值的数量来衡量hStart脉冲之间的音速启动公开发表。看到标记2在图中。

数据类型:

这个值是衡量hStart到下一个hStart,包括水平消隐间隔。看到标记3在图中。

数据类型:

这个值是衡量区间公开发表到下一个公开发表,除以totalPixels。它包括垂直消隐间隔。看到标记4在图中。

数据类型:

水平消隐间隔是不活跃的像素的数量之间的一个框架。这个值是衡量之间这个到和下一个hStart。看到标记5在图中。

数据类型:

垂直消隐间隔帧之间的界限是不活跃的数量。这个值是衡量公开发表到下一个音速启动调整后删除horizBlank,然后除以totalPixels。看到标记6在图中。

数据类型:

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

这个例子展示了如何使用MeasureTiming对象观察帧参数在一个定制的视频。周围的例子创建自定义填充图像帧,将流媒体视频的帧。它使用MeasureTiming对象确认视频参数匹配的自定义设置。

使用一个FrameToPixels对象指定一个小框架定义定制的消隐间隔。获得一个框架的大小,选择输入图像的一小部分。

frm2pix = visionhdl.FrameToPixels (“VideoFormat”,“自定义”,“ActivePixelsPerLine”32岁的“ActiveVideoLines”,18岁,“TotalPixelsPerLine”现年42岁的“TotalVideoLines”,26岁,“StartingActiveLine”6“FrontPorch”5);[actPixPerLine, actLine numPixPerFrm] = getparamfromfrm2pix (frm2pix);frmFull = imread (“rice.png”);frmIn = frmFull (74:73 + actLine 104:103 + actPixPerLine);imshow (frmIn)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

创建一个MeasureTiming观察对象的参数序列像素的输出FrameToPixels对象。

测量= visionhdl.MeasureTiming;

序列化输入帧。

[pixInVec, ctrlInVec] = frm2pix (frmIn);

帧之间的一些参数需要测量,所以你必须模拟至少前两帧使用结果。因为你只序列化一个输入框,过程框架两次测量所有参数正确。

f = 1:2p = 1: numPixPerFrm [activePixels、activeLines totalPixels, totalLines,horizBlank vertBlank] =测量(ctrlInVec (p));结束流(“\ nFrame % d: \ n”f)流(“activePixels: % f \ n”activePixels)流(“activeLines: % f \ n”activeLines)流(“totalPixels: % f \ n”totalPixels)流(“totalLines: % f \ n”totalLines)流(“horizBlank: % f \ n”horizBlank)流(“vertBlank: % f \ n”vertBlank)结束
第一帧:
activePixels: 32.000000
activeLines: 18.000000
totalPixels: 42.000000
totalLines: 22.880952
horizBlank: 10.000000
vertBlank: 4.880952
第二帧:
activePixels: 32.000000
activeLines: 18.000000
totalPixels: 42.000000
totalLines: 26.000000
horizBlank: 10.000000
vertBlank: 8.000000

第一帧后的测量是不准确的。然而,第二帧后,测量匹配的参数选择FrameToPixels对象。

版本历史

介绍了R2016b