visionhdl.ImageStatistics

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

Описание

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

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

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

  • Количество допустимых пикселей в вход изображении влияет на точность среднего приближения. Чтобы избежать ошибки приближения, используйте изображение, которое содержит менее 64 пикселей, кратных 64 пикселям до 642 пиксели, кратные 4096 пикселям до 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'

Figure contains an axes. The axes with title Input Image contains an object of type 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 блочных страниц с описанием.

См. также

| | (Computer Vision Toolbox) | (Computer Vision Toolbox) | (Computer Vision Toolbox) | (Набор Image Processing Toolbox) | (Набор Image Processing Toolbox)

Введенный в R2015a