Блокируйте значения в разложении дерева квадрантов
Создайте демонстрационную матрицу, представляющую маленькое изображение.
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 от разложения дерева квадрантов. 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)'
I — Полутоновое изображениеПолутоновое изображение, заданное как числовая матрица.
Типы данных: single | double | int16 | uint8 | uint16 | logical
S — Структура дерева квадрантовСтруктура дерева квадрантов, заданная как разреженная матрица. Если S(m, n), является ненулевым, затем координата (m, n) является левым верхним углом блока в разложении, и размер блока дан Sm, n . Можно получить структуру дерева квадрантов при помощи qtdecomp функция.
Типы данных: double
dim — Размер блокаРазмер блока, заданный как положительное целое число.
vals — Блокируйте значенияdim- dim- k массив | []Блокируйте значения, возвращенные как dim- dim- k массив, где k является количеством dim- dim блоки в разложении дерева квадрантов. Если разложение дерева квадрантов не содержит блоков заданного размера, то vals возвращен как пустая матрица.
Упорядоченное расположение блоков в vals совпадает с постолбцовым порядком блоков в I. Например, если vals 4 4 2, затем vals(:,:,1) содержит значения от первого блока 4 на 4 в I, и vals(:,:,2) содержит значения от второго блока 4 на 4.
r — Координаты строки левых верхних углов блоков[]Координаты строки левых верхних углов блоков, возвращенных как k - вектор-столбец элемента положительных целых чисел, где k является количеством dim- dim блоки в разложении дерева квадрантов. Если разложение дерева квадрантов не содержит блоков заданного размера, то r возвращен как пустая матрица.
c — Координаты столбца левых верхних углов блоков[]Координаты столбца левых верхних углов блоков, возвращенных как k - вектор-столбец элемента положительных целых чисел, где k является количеством dim- dim блоки в разложении дерева квадрантов. Если разложение дерева квадрантов не содержит блоков заданного размера, то c возвращен как пустая матрица.
idx — Линейные индексы левых верхних углов блоков[]Линейные индексы левых верхних углов блоков, возвращенных как k - вектор-столбец элемента положительных целых чисел, где k является количеством dim- dim блоки в разложении дерева квадрантов. Если разложение дерева квадрантов не содержит блоков заданного размера, то idx возвращен как пустая матрица.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.