Main Content


Convert pixel subscripts to block subscripts


blocksub = sub2blocksub(bim,pixelsub) converts the pixel subscripts in pixelsub to the block subscripts identifying the block containing the specified pixel.


blocksub = sub2blocksub(bim,pixelsub,'Level',L) additionally specifies the resolution level to use in a multiresolution image. By default, Level is 1.


collapse all

Create a small sample image as a 5-by-7 matrix of zeros. Here is an illustration of the small sample image, with the pixel coordinates of the four corners provided.

Create a blocked image from the sample image, specifying a 2-by-2 block size. To create this blocked image, use blockedImage in write mode.

bim = blockedImage([],[5 7],[2 2],uint8(0),"Mode",'w');

Here is an illustration of the blocked image overlaid on the original image. It is divided into 2-by-2 blocks. In the diagram, each block contains it's block coordinates.

To determine which block contains a particular pixel, convert the pixel subscripts into block subscripts by using the sub2blocksub function. By default, if the image is a multiresolution image, then sub2blocksub uses pixel coordinates from coarsest level, although you can specify any level. Since the sample image has only one resolution level, sub2blocksub converts level 1.

[blocksub] = sub2blocksub(bim,[2 3])
blocksub = 1×2

     1     2

Input Arguments

collapse all

Blocked image, specified as a blockedImage object.

Pixel subscripts, specified as a K-by-N integer-valued matrix, N is the number of dimensions and K is the number of coordinates.

Output Arguments

collapse all

Subscripts of the block that contains the pixel, returned as a K-by-N integer-valued matrix, for an N-dimensional blocked image. K is the number of coordinates.

See Also

Introduced in R2021a