Блокируйте значения в разложении дерева квадрантов
[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.