qtsetblk

Установите значения блоков в квадратурном декомпозиции

Синтаксис

Описание

пример

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

Примеры

свернуть все

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

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 из декомпозиции quadtree.

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) является верхним левым углом блока в разложении, и размер блока определяется S(m, n). Вы можете получить структуру quadtree при помощи qtdecomp функция.

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

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

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

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

См. также

|

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте