Блокируйте значения в разложении дерева квадрантов
[vals, r, c] = qtgetblk(I, S, dim)
[vals, idx] = qtgetblk(I, S, dim)
[vals, r, c] = qtgetblk(I, S, dim)
возвращает в vals
массив, содержащий dim
-by-dim
блоки в разложении дерева квадрантов I
. S
является разреженной матрицей, возвращенной qtdecomp
; это содержит структуру дерева квадрантов. vals
является dim
-by-dim-by-
k
массив, где k
является количеством dim
-by-dim
блоки в разложении дерева квадрантов; при отсутствии блоков заданного размера, все выходные параметры возвращены как пустые матрицы. r
и c
являются векторами, содержащими координаты строки и столбца левых верхних углов блоков.
[vals, idx] = qtgetblk(I, S, dim)
возвращает в idx
вектор, содержащий линейные индексы левых верхних углов блоков.
I
может иметь класс logical
, uint8
, uint16
, int16
, single
или double
. S
имеет класс sparse
.
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]; S = qtdecomp(I,5); [vals,r,c] = qtgetblk(I,S,4)
Упорядоченное расположение блоков в vals
совпадает с постолбцовым порядком блоков в I
. Например, если vals
4 4 2, vals(:,:,1)
содержит значения от первого блока 4 на 4 в I
, и vals(:,:,2)
содержит значения от второго блока 4 на 4.