regionprops
-
skimage.measure.regionprops(label_image, intensity_image=None, cache=True)
[source] -
Measure properties of labeled image regions.
Parameters: label_image : (N, M) ndarray
Labeled input image. Labels with value 0 are ignored.
intensity_image : (N, M) ndarray, optional
Intensity (i.e., input) image with same size as labeled image. Default is None.
cache : bool, optional
Determine whether to cache calculated properties. The computation is much faster for cached properties, whereas the memory consumption increases.
Returns: properties : list of RegionProperties
Each item describes one labeled region, and can be accessed using the attributes listed below.
Notes
The following properties can be accessed as attributes or keys:
-
area : int
- Number of pixels of region.
-
bbox : tuple
- Bounding box
(min_row, min_col, max_row, max_col)
-
centroid : array
- Centroid coordinate tuple
(row, col)
. -
convex_area : int
- Number of pixels of convex hull image.
-
convex_image : (H, J) ndarray
- Binary convex hull image which has the same size as bounding box.
-
coords : (N, 2) ndarray
- Coordinate list
(row, col)
of the region. -
eccentricity : float
- Eccentricity of the ellipse that has the same second-moments as the region. The eccentricity is the ratio of the focal distance (distance between focal points) over the major axis length. The value is in the interval [0, 1). When it is 0, the ellipse becomes a circle.
-
equivalent_diameter : float
- The diameter of a circle with the same area as the region.
-
euler_number : int
- Euler characteristic of region. Computed as number of objects (= 1) subtracted by number of holes (8-connectivity).
-
extent : float
- Ratio of pixels in the region to pixels in the total bounding box. Computed as
area / (rows * cols)
-
filled_area : int
- Number of pixels of filled region.
-
filled_image : (H, J) ndarray
- Binary region image with filled holes which has the same size as bounding box.
-
image : (H, J) ndarray
- Sliced binary region image which has the same size as bounding box.
-
inertia_tensor : (2, 2) ndarray
- Inertia tensor of the region for the rotation around its mass.
-
inertia_tensor_eigvals : tuple
- The two eigen values of the inertia tensor in decreasing order.
-
intensity_image : ndarray
- Image inside region bounding box.
-
label : int
- The label in the labeled input image.
-
local_centroid : array
- Centroid coordinate tuple
(row, col)
, relative to region bounding box. -
major_axis_length : float
- The length of the major axis of the ellipse that has the same normalized second central moments as the region.
-
max_intensity : float
- Value with the greatest intensity in the region.
-
mean_intensity : float
- Value with the mean intensity in the region.
-
min_intensity : float
- Value with the least intensity in the region.
-
minor_axis_length : float
- The length of the minor axis of the ellipse that has the same normalized second central moments as the region.
-
moments : (3, 3) ndarray
-
Spatial moments up to 3rd order:
1m_ji
=
sum
{ array(x, y)
*
x^j
*
y^i }
where the sum is over the
x
,y
coordinates of the region. -
moments_central : (3, 3) ndarray
-
Central moments (translation invariant) up to 3rd order:
1mu_ji
=
sum
{ array(x, y)
*
(x
-
x_c)^j
*
(y
-
y_c)^i }
where the sum is over the
x
,y
coordinates of the region, andx_c
andy_c
are the coordinates of the region’s centroid. -
moments_hu : tuple
- Hu moments (translation, scale and rotation invariant).
-
moments_normalized : (3, 3) ndarray
-
Normalized moments (translation and scale invariant) up to 3rd order:
1nu_ji
=
mu_ji
/
m_00^[(i
+
j)
/
2
+
1
]
where
m_00
is the zeroth spatial moment. -
orientation : float
- Angle between the X-axis and the major axis of the ellipse that has the same second-moments as the region. Ranging from
-pi/2
topi/2
in counter-clockwise direction. -
perimeter : float
- Perimeter of object which approximates the contour as a line through the centers of border pixels using a 4-connectivity.
-
solidity : float
- Ratio of pixels in the region to pixels of the convex hull image.
-
weighted_centroid : array
- Centroid coordinate tuple
(row, col)
weighted with intensity image. -
weighted_local_centroid : array
- Centroid coordinate tuple
(row, col)
, relative to region bounding box, weighted with intensity image. -
weighted_moments : (3, 3) ndarray
-
Spatial moments of intensity image up to 3rd order:
1wm_ji
=
sum
{ array(x, y)
*
x^j
*
y^i }
where the sum is over the
x
,y
coordinates of the region. -
weighted_moments_central : (3, 3) ndarray
-
Central moments (translation invariant) of intensity image up to 3rd order:
1wmu_ji
=
sum
{ array(x, y)
*
(x
-
x_c)^j
*
(y
-
y_c)^i }
where the sum is over the
x
,y
coordinates of the region, andx_c
andy_c
are the coordinates of the region’s weighted centroid. -
weighted_moments_hu : tuple
- Hu moments (translation, scale and rotation invariant) of intensity image.
-
weighted_moments_normalized : (3, 3) ndarray
-
Normalized moments (translation and scale invariant) of intensity image up to 3rd order:
1wnu_ji
=
wmu_ji
/
wm_00^[(i
+
j)
/
2
+
1
]
where
wm_00
is the zeroth spatial moment (intensity-weighted area).
Each region also supports iteration, so that you can do:
12for
prop
in
region:
print
(prop, region[prop])
References
[R284] Wilhelm Burger, Mark Burge. Principles of Digital Image Processing: Core Algorithms. Springer-Verlag, London, 2009. [R285] B. Jähne. Digital Image Processing. Springer-Verlag, Berlin-Heidelberg, 6. edition, 2005. [R286] T. H. Reiss. Recognizing Planar Objects Using Invariant Image Features, from Lecture notes in computer science, p. 676. Springer, Berlin, 1993. [R287] http://en.wikipedia.org/wiki/Image_moment Examples
1234567891011>>>
from
skimage
import
data, util
>>>
from
skimage.measure
import
label
>>> img
=
util.img_as_ubyte(data.coins()) >
110
>>> label_img
=
label(img, connectivity
=
img.ndim)
>>> props
=
regionprops(label_img)
>>>
# centroid of first labeled object
>>> props[
0
].centroid
(
22.729879860483141
,
81.912285234465827
)
>>>
# centroid of first labeled object
>>> props[
0
][
'centroid'
]
(
22.729879860483141
,
81.912285234465827
)
-
Please login to continue.