qtgetblk

Блокируйте значения в квадратурном декомпозиции

Описание

пример

[vals,r,c] = qtgetblk(I,S,dim) возвращает блоки размера dim-by- dim из I изображений с квадратурным разложением S. Функция возвращает значения блоков в vals и координаты строки и столбца верхнего левого угла блоков в r и c.

[vals,idx] = qtgetblk(I,S,dim) возвращает значения блоков в vals и линейные индексы верхних левых углов блоков в idx.

Примеры

свернуть все

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

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)
S = 
   (1,1)        4
   (5,1)        4
   (1,5)        2
   (3,5)        1
   (4,5)        1
   (5,5)        2
   (7,5)        2
   (3,6)        1
   (4,6)        1
   (1,7)        2
   (3,7)        2
   (5,7)        2
   (7,7)        2

Получите блоки размера 4 на 4 из декомпозиции quadtree. qtgetblk находит два блока такого размера.

[vals,r,c] = qtgetblk(I,S,4);

Выберите второй возвращенный блок. Отображение значений и координат (строка, столбец) верхнего левого угла блока.

blknum = 2;
blockValues = vals(:,:,blknum)
blockValues = 4×4

    20    22    20    22
    20    22    22    20
    20    22    20    20
    22    22    20    20

blockCoordinates = ['(',num2str(r(blknum)),',',num2str(c(blknum)),')']
blockCoordinates = 
'(5,1)'

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

свернуть все

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

Типы данных: 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 блоки в квадратурном декомпозиции. Если декомпозиция quadtree не содержит блоков заданного размера, то vals возвращается как пустая матрица.

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

Координаты строк верхних левых углов блоков, возвращенные как k-элементный вектор-столбец положительных целых чисел, где k количество dim-by- dim блоки в квадратурном декомпозиции. Если декомпозиция quadtree не содержит блоков заданного размера, то r возвращается как пустая матрица.

Координаты столбца верхних левых углов блоков, возвращенные как k-элементный вектор-столбец положительных целых чисел, где k количество dim-by- dim блоки в квадратурном декомпозиции. Если декомпозиция quadtree не содержит блоков заданного размера, то c возвращается как пустая матрица.

Линейные индексы верхних левых углов блоков, возвращенные как k-элементный вектор-столбец положительных целых чисел, где k - количество dim-by- dim блоки в квадратурном декомпозиции. Если декомпозиция quadtree не содержит блоков заданного размера, то idx возвращается как пустая матрица.

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