visionhdl. ImageStatistics

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

Описание

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

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

  • Чтобы изменить размер и размерности 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 является соответствующим значением. Имя должно находиться внутри одинарных кавычек (' '). Можно задать несколько аргументов пары "имя-значение" в любом порядке как 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