Find blobs in given image. More...
Functions | |
AFAPI array | regions (const array &in, const af::connectivity connectivity=AF_CONNECTIVITY_4, const dtype type=f32) |
C++ Interface for getting regions in an image. More... | |
AFAPI af_err | af_regions (af_array *out, const af_array in, const af_connectivity connectivity, const af_dtype ty) |
C Interface for regions in an image. More... | |
Find blobs in given image.
Given a binary image (with zero representing background pixels), regions computes a floating point image where each connected component is labeled from 1 to N, the total number of components in the image.
A component is defined as one or more nonzero pixels that are connected by the specified connectivity (either 4-way(AF_CONNECTIVITY_4) or 8-way(AF_CONNECTIVITY_8)) in two dimensions.
The default connectivity is AF_CONNECTIVITY_4.
AFAPI af_err af_regions | ( | af_array * | out, |
const af_array | in, | ||
const af_connectivity | connectivity, | ||
const af_dtype | ty | ||
) |
C Interface for regions in an image.
[out] | out | array will have labels indicating different regions |
[in] | in | array should be binary image of type b8 |
[in] | connectivity | can take one of the following [AF_CONNECTIVITY_4 | AF_CONNECTIVITY_8] |
[in] | ty | is type of output array |
AFAPI array regions | ( | const array & | in, |
const af::connectivity | connectivity = AF_CONNECTIVITY_4 , |
||
const dtype | type = f32 |
||
) |
C++ Interface for getting regions in an image.
Below given are sample input and output for each type of connectivity value for type
Example for type == AF_CONNECTIVITY_8 | Example for type == AF_CONNECTIVITY_4 |
array in(8, 8, input);
// af_print(in);
// in =
// 0 0 0 0 1 0 1 0
// 0 0 0 0 0 0 1 1
// 0 1 0 1 0 0 0 0
// 0 0 1 0 1 1 0 1
// 1 1 0 0 0 1 0 1
// 0 0 0 1 0 0 0 1
// 0 0 0 0 1 0 0 1
// 0 1 0 0 0 1 0 0
// Compute the label matrix using 8-way connectivity
// af_print(out);
// 0 0 0 0 4 0 5 0
// 0 0 0 0 0 0 5 5
// 0 1 0 1 0 0 0 0
// 0 0 1 0 1 1 0 6
// 1 1 0 0 0 1 0 6
// 0 0 0 3 0 0 0 6
// 0 0 0 0 3 0 0 6
// 0 2 0 0 0 3 0 0
@ AF_CONNECTIVITY_8 Connectivity includes 4-connectivity neigbors and also those on Northeast, Northwest,... Definition: defines.h:297 AFAPI array regions(const array &in, const af::connectivity connectivity=AF_CONNECTIVITY_4, const dtype type=f32) C++ Interface for getting regions in an image. | array in(8, 8, input);
// af_print(in.T());
// in
// 0 0 0 0 1 0 1 0
// 0 0 0 0 0 0 1 1
// 0 1 0 1 0 0 0 0
// 0 0 1 0 1 1 0 1
// 1 1 0 0 0 1 0 1
// 0 0 0 1 0 0 0 1
// 0 0 0 0 1 0 0 1
// 0 1 0 0 0 1 0 0
// Compute the label matrix using 4-way connectivity
// af_print(out.T());
// out
// 0 0 0 0 7 0 11 0
// 0 0 0 0 0 0 11 11
// 0 2 0 5 0 0 0 0
// 0 0 4 0 8 8 0 12
// 1 1 0 0 0 8 0 12
// 0 0 0 6 0 0 0 12
// 0 0 0 0 9 0 0 12
// 0 3 0 0 0 10 0 0
@ AF_CONNECTIVITY_4 Connectivity includes neighbors, North, East, South and West of current pixel. Definition: defines.h:292 |
[in] | in | array should be binary image of type b8 |
[in] | connectivity | can take one of the following [AF_CONNECTIVITY_4 | AF_CONNECTIVITY_8] |
[in] | type | is type of output array |