visionhdl. MeasureTiming

Измерьте синхронизацию пиксельного входа управляющей структуры

Описание

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

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

Примечание

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

Конструкция

measure = visionhdl.MeasureTiming возвращает Системный объект, 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)

Создайте объект 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.

Введенный в R2017b