如何计算图像属性,例如面积、周长、坚固度

How to calculate the image properties for example Area, perimeter, Solidity

我有如下图片

我想计算图像中栗色的属性,例如区域,mean_intensity','在 python.[=11= 中使用 Opencv() 的栗色的坚固性]

以下是 Python/OpenCV/Skimage 中的操作方法。阈值处理后,只有一个区域值为 1,背景为零。

输入:

import cv2
import numpy as np
from skimage import measure

# load image
img = cv2.imread("2blobs.jpg")

# threshold on color
binary = cv2.inRange(img, (0,0,50), (50,50,255))

# get region properties
region = measure.regionprops(binary)

# get number of regions
num = len(region)
print('number of regions:',num)
print('')
   
# print all properties
for prop in region[0]:
    print(prop, region[0][prop])
    
# display threshold
cv2.imshow("thresh", binary)
cv2.waitKey(0)

文本输出:
number of regions: 1

area 5484
bbox (32, 47, 156, 250)
bbox_area 25172
centroid (95.14277899343544, 150.97264770240702)
convex_area 21020
convex_image [[False False False ... False False False]
 [False False False ... False False False]
 [False False False ... False False False]
 ...
 [False False False ... False False False]
 [False False False ... False False False]
 [False False False ... False False False]]
coords [[ 32  81]
 [ 32  82]
 [ 32  83]
 ...
 [154 205]
 [154 207]
 [155 191]]
eccentricity 0.9062580193617534
equivalent_diameter 83.56102957316665
euler_number -24
extent 0.21786111552518672
filled_area 5650
filled_image [[False False False ... False False False]
 [False False False ... False False False]
 [False False False ... False False False]
 ...
 [False False False ... False False False]
 [False False False ... False False False]
 [False False False ... False False False]]
image [[False False False ... False False False]
 [False False False ... False False False]
 [False False False ... False False False]
 ...
 [False False False ... False False False]
 [False False False ... False False False]
 [False False False ... False False False]]
inertia_tensor [[5257.30195061 -310.920572  ]
 [-310.920572    965.87512838]]
inertia_tensor_eigvals [5279.711609050717, 943.4654699433576]
label 255
local_centroid (63.14277899343545, 103.972647702407)
major_axis_length 290.6464961853342
minor_axis_length 122.86353209595482
moments [[5.48400000e+03 5.70186000e+05 8.81147920e+07 1.50278944e+10]
 [3.46275000e+05 3.77082170e+07 5.75855208e+09 9.65562546e+11]
 [2.71616250e+07 3.03617436e+09 4.54017781e+11 7.43711931e+13]
 [2.35839324e+09 2.68925634e+11 3.95385779e+13 6.34332897e+15]]
moments_central [[ 5.48400000e+03 -1.16529009e-11  2.88310439e+07 -1.28913740e+08]
 [ 5.48254775e-11  1.70508842e+06 -1.59825871e+08  1.12144760e+10]
 [ 5.29685920e+06 -3.21975429e+06  2.15192576e+10 -2.10407654e+11]
 [-2.55840616e+07  3.93254074e+09 -3.11193913e+11  1.94422438e+13]]
moments_hu [ 1.13478794e+00  6.25220141e-01  4.44028567e-02  1.04506936e-02
  6.70377030e-06 -1.54890578e-03  2.25024857e-04]
moments_normalized [[        nan         nan  0.95866192 -0.05788361]
 [        nan  0.05669595 -0.07176348  0.06799651]
 [ 0.17612603 -0.0014457   0.1304773  -0.01722743]
 [-0.01148751  0.0238441  -0.02547945  0.02149595]]
orientation 1.498845558177429
perimeter 2039.2926394116744
slice (slice(32, 156, None), slice(47, 250, None))
solidity 0.2608943862987631