exponenta event banner

visionhdl. MeasureTiming

Измерение времени ввода структуры управления пикселями

Описание

visionhdl.MeasureTiming объект измеряет параметры синхронизации видеопотока. Потоковый пиксельный протокол Vision HDL Toolbox™ реализует синхронизацию видеосистемы, включая неактивные интервалы между кадрами. Эти неактивные интервалы называются интервалами гашения. Для многих объектов панели инструментов Vision HDL требуются минимальные интервалы гашения. Измерения параметров синхронизации из этого объекта можно использовать для проверки соответствия видеопотока этим требованиям. При управлении управляющими сигналами видеопотока можно использовать этот объект для проверки результирующих управляющих сигналов. Для определения параметров каждого кадра объект измеряет временные шаги между управляющими сигналами в структуре ввода.

Дополнительные сведения о шине управления пикселами и размерах видеокадра см. в разделе Потоковый интерфейс пикселей.

Примечание

Начиная с R2016b, вместо использования step для выполнения операции, определенной системным object™, можно вызвать объект с аргументами, как если бы это была функция. Например, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

Строительство

measure = visionhdl.MeasureTiming возвращает объект System, measure, которая измеряет среднюю синхронизацию кадра видеопотока.

Методы

шагИзмерение времени ввода структуры управления пикселями
Общие для всех системных объектов
release

Разрешить изменение значения свойства объекта системы

Примеры

свернуть все

В этом примере показано, как использовать MeasureTiming объект для наблюдения за параметрами кадра в пользовательском видеопотоке. Пример создает настраиваемое заполнение вокруг кадра изображения и преобразует кадр в потоковое видео. Он использует MeasureTiming объект для подтверждения соответствия параметров потокового видео пользовательским настройкам.

Использовать FrameToPixels объект для задания рамки небольшого пользовательского размера с настраиваемыми интервалами гашения. Чтобы получить кадр такого размера, выберите небольшой участок входного изображения.

frm2pix = visionhdl.FrameToPixels(...
      'VideoFormat','custom',...
      '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)

Figure contains an axes. The axes contains an object of type image.

Создать MeasureTiming объект для наблюдения за параметрами последовательного пикселя, выводимого из FrameToPixels объект.

measure = visionhdl.MeasureTiming;

Сериализируйте входной кадр.

[pixInVec,ctrlInVec] = frm2pix(frmIn);

Некоторые параметры требуют измерений между кадрами, поэтому перед использованием результатов необходимо смоделировать как минимум два кадра. Поскольку сериализован только один входной кадр, обработайте его дважды, чтобы правильно измерить все параметры.

for f = 1:2
      for p = 1:numPixPerFrm
          [activePixels,activeLines,totalPixels,totalLines,...
              horizBlank,vertBlank] = measure(ctrlInVec(p));
      end
      fprintf('\nFrame %d:\n',f)
      fprintf('activePixels: %f\n',activePixels)
      fprintf('activeLines: %f\n',activeLines)
      fprintf('totalPixels: %f\n',totalPixels)
      fprintf('totalLines: %f\n',totalLines)
      fprintf('horizBlank: %f\n',horizBlank)
      fprintf('vertBlank: %f\n',vertBlank)
end
Frame 1:
activePixels: 32.000000
activeLines: 18.000000
totalPixels: 42.000000
totalLines: 22.880952
horizBlank: 10.000000
vertBlank: 4.880952
Frame 2:
activePixels: 32.000000
activeLines: 18.000000
totalPixels: 42.000000
totalLines: 26.000000
horizBlank: 10.000000
vertBlank: 8.000000

Измерения после первого кадра не являются точными. Однако после второго кадра измерения соответствуют параметрам, выбранным в FrameToPixels объект.

Представлен в R2016b