qtsetblk

Установите значения блока в разложении дерева квадрантов

Синтаксис

Описание

пример

J = qtsetblk(I,S,dim,vals) замены каждый dim- dim блокируйте в разложении дерева квадрантов изображения I с соответствующим блоком в valsS содержит структуру дерева квадрантов.

Примеры

свернуть все

Создайте демонстрационную матрицу, представляющую маленькое изображение.

I = [1    1    1    1    2    3    6    6
     1    1    2    1    4    5    6    8
     1    1    1    1   10   15    7    7
     1    1    1    1   20   25    7    7
    20   22   20   22    1    2    3    4
    20   22   22   20    5    6    7    8
    20   22   20   20    9   10   11   12
    22   22   20   20   13   14   15   16];

Выполните разложение дерева квадрантов изображения, задав порог 5. qtdecomp разделяет блок, если максимальное значение элементов блока минус минимальное значение элементов блока больше порога.

S = qtdecomp(I,5);

Получите блоки размера, 4 на 4 от разложения дерева квадрантов.

vals = qtgetblk(I,S,4);

Вычислите режим каждого блока 4 на 4 и установите все значения, чтобы равняться режиму.

valmodes = zeros(size(vals));
for blknum = 1:size(vals,3)
    valmodes(:,:,blknum) = mode(vals(:,:,blknum),'all');
end

Установите блоки в изображении к новым значениям. Блоки 4 на 4 в изображении теперь однородны.

J = qtsetblk(I,S,4,valmodes)
J = 8×8

     1     1     1     1     2     3     6     6
     1     1     1     1     4     5     6     8
     1     1     1     1    10    15     7     7
     1     1     1     1    20    25     7     7
    20    20    20    20     1     2     3     4
    20    20    20    20     5     6     7     8
    20    20    20    20     9    10    11    12
    20    20    20    20    13    14    15    16

Входные параметры

свернуть все

Полутоновое изображение, заданное как числовая матрица.

Типы данных: single | double | int16 | uint8 | uint16 | logical

Структура дерева квадрантов, заданная как разреженная матрица. Если S(m, n), является ненулевым, затем координата (m, n) является левым верхним углом блока в разложении, и размер блока дан Sm, n . Можно получить структуру дерева квадрантов при помощи qtdecomp функция.

Типы данных: double

Размер блока, заданный как положительное целое число.

Блокируйте значения, заданные как dim- dim- k массив, где k является количеством dim- dim блоки в разложении дерева квадрантов.

Упорядоченное расположение блоков в vals должен совпадать с постолбцовым порядком блоков в I. Например, если vals 4 4 2, затем vals(:,:,1) содержит значения, используемые, чтобы заменить первый блок 4 на 4 в I, и vals(:,:,2) содержит значения, используемые, чтобы заменить второй блок 4 на 4.

Смотрите также

|

Представлено до R2006a