visionhdl.ImageStatistics

Среднее значение, отклонение и стандартное отклонение

Описание

visionhdl.ImageStatistics вычисляет среднее значение, отклонение и стандартное отклонение данных о потоковом видео. Каждое вычисление выполняется по всем пикселям во входной видимой области (ROI). Объект реализует вычисления с помощью эффективных оборудованием алгоритмов.

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

  • Чтобы изменить размер и размерности ROI, можно управлять входными управляющими сигналами видеопотока. Смотрите необходимые области.

  • Количество допустимых пикселей во входном изображении влияет на точность среднего приближения. Чтобы избежать ошибки приближения, используйте изображение, которое содержит меньше чем 64 пикселя, кратное 64 пикселей до 642 пикселей, кратное 4 096 пикселей до 643 пикселей или кратное 643 пикселей до 644 пикселей. Для получения дополнительной информации среднего приближения, см. Алгоритм.

  • Объект вычисляет статистику по системам координат до 644 (16,777,216) пиксели в размере.

Примечание

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

Конструкция

S = visionhdl.ImageStatistics возвращает Системный объект, S, это вычисляет среднее значение, отклонение и стандартное отклонение каждой системы координат видеопотока.

S = visionhdl.ImageStatistics(Name,Value) возвращает Системный объект, S, с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы. Name имя свойства и Value соответствующее значение. Name должен появиться в одинарных кавычках (''). Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN. Свойства, не заданные, сохраняют свои значения по умолчанию.

Свойства

mean

Вычислите среднее значение каждого входного кадра. Если вы устанавливаете это свойство на false, step метод не возвращает этот выходной параметр.

Значение по умолчанию: true

variance

Вычислите отклонение каждого входного кадра. Если вы устанавливаете это свойство на false, step метод не возвращает этот выходной параметр.

Значение по умолчанию: true

stdDev

Вычислите стандартное отклонение каждого входного кадра. Если вы устанавливаете это свойство на false, step метод не возвращает этот выходной параметр.

Значение по умолчанию: true

Методы

шагВычислите вклад одного пикселя к среднему значению, отклонению и стандартному отклонению видеопотока
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Примеры

свернуть все

Этот пример вычисляет среднее значение, отклонение и стандартное отклонение изображения миниатюр.

Загрузите исходное изображение из файла. Выберите фрагмент изображения, совпадающего с желаемым тестовым размером.

frmOrig = imread('rice.png');
frmActivePixels = 64;
frmActiveLines = 48;
frmInput = frmOrig(1:frmActiveLines,1:frmActivePixels);
figure
imshow(frmInput,'InitialMagnification',300)
title 'Input Image'

Создайте сериализатор, возражают и задают неактивные пиксельные области.

frm2pix = visionhdl.FrameToPixels(...
      'NumComponents',1,...
      'VideoFormat','custom',...
      'ActivePixelsPerLine',frmActivePixels,...
      'ActiveVideoLines',frmActiveLines,...
      'TotalPixelsPerLine',frmActivePixels+10,...
      'TotalVideoLines',frmActiveLines+10,...
      'StartingActiveLine',6,...     
      'FrontPorch',5);

Создайте объект, который возвращает среднее значение, отклонение и стандартное отклонение.

 stats = visionhdl.ImageStatistics();

Сериализируйте тестовое изображение путем вызова объекта сериализатора. pixIn вектор значений интенсивности. ctrlIn вектор структур управляющего сигнала.

Примечание: Этот объектный синтаксис запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов объекта с эквивалентным step синтаксис. Например, замените myObject(x) с step(myObject,x).

[pixIn,ctrlIn] = frm2pix(frmInput);

Подготовьтесь обрабатывать пиксели путем предварительного выделения выходных векторов.

[~,~,numPixelsPerFrame] = getparamfromfrm2pix(frm2pix);
validOut  = false(numPixelsPerFrame,1);
mean  = zeros(numPixelsPerFrame,1,'uint8');
variance  = zeros(numPixelsPerFrame,1,'uint8');
stddev  = zeros(numPixelsPerFrame,1,'uint8');

Для каждого пикселя в потоке постепенно увеличьте внутреннюю статистику.

for p = 1:numPixelsPerFrame  
   [mean(p),variance(p),stddev(p),validOut(p)] = stats(pixIn(p),ctrlIn(p));
end

Результаты допустимы когда validOut возвращенный true.

mean = mean(validOut==1)
mean = uint8
    125
variance = variance(validOut==1)
variance = uint8
    255
stddev = stddev(validOut==1)
stddev = uint8
    36

Алгоритмы

Этот объект реализует алгоритмы, описанные на странице с описанием блока Image Statistics.

Представленный в R2015a