MATLAB ヘルプ センター
四分木分割のブロック値
[vals,r,c] = qtgetblk(I,S,dim)
[vals,idx] = qtgetblk(I,S,dim)
[vals,r,c] = qtgetblk(I,S,dim) は、四分木分割 S を使用してイメージ I からサイズが dim 行 dim 列のブロックを返します。この関数はブロック値を vals に返し、ブロックの左上隅の行座標と列座標を r と c に返します。
vals
r
c
I
S
dim
例
[vals,idx] = qtgetblk(I,S,dim) はブロック値を vals に返し、ブロックの左上隅の線形インデックスを idx に返します。
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 は、ブロック要素の最大値からブロック要素の最小値を引いた差がしきい値よりも大きい場合にブロックを分割します。
qtdecomp
S = qtdecomp(I,5)
S = 8×8 sparse double matrix (13 nonzeros) (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 は、このサイズの 2 つのブロックを検出します。
qtgetblk
[vals,r,c] = qtgetblk(I,S,4);
2 番目の返されたブロックを選択します。ブロックの値と左上隅の (行, 列) 座標を表示します。
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
single
double
int16
uint8
uint16
logical
四分木構造。スパース行列として指定します。S(m,n) がゼロ以外の場合、座標 (m,n) は分解のブロックの左上隅になり、ブロックのサイズは S(m,n) によって指定されます。関数 qtdecomp を使用することによって、四分木構造を取得できます。
データ型: double
ブロック サイズ。正の整数として指定します。
[]
ブロック値。dim x dim x k の配列として返されます。ここで、k は四分木分割内の dim 行 dim 列のブロックの数です。指定されたサイズのブロックが四分木分割に含まれていない場合、vals は空の行列として返されます。
vals のブロックの順序は、I のブロックの列方向の順序と一致しています。たとえば、vals が 4 × 4 × 2 の場合、vals(:,:,1) には、I にある最初の 4 × 4 のブロックの値が含まれています。vals(:,:,2) には 2 番目の 4 × 4 のブロックの値が含まれています。
vals(:,:,1)
vals(:,:,2)
ブロックの左上隅の行座標。正の整数の k 要素列ベクトルとして返されます。ここで、k は四分木分割内の dim 行 dim 列のブロックの数です。指定されたサイズのブロックが四分木分割に含まれていない場合、r は空の行列として返されます。
ブロックの左上隅の列座標。正の整数の k 要素列ベクトルとして返されます。ここで、k は四分木分割内の dim 行 dim 列のブロックの数です。指定されたサイズのブロックが四分木分割に含まれていない場合、c は空の行列として返されます。
ブロックの左上隅の線形インデックス。正の整数の k 要素列ベクトルとして返されます。ここで、k は四分木分割内の dim 行 dim 列のブロックの数です。指定されたサイズのブロックが四分木分割に含まれていない場合、idx は空の行列として返されます。
R2006a より前に導入
qtdecomp | qtsetblk
qtsetblk
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ