在Python中,可以使用regionprops
函數從二進制圖像的連通區域中提取屬性。
下面是一個示例代碼:
import matplotlib.pyplot as plt
from skimage.measure import label, regionprops
# 讀取二進制圖像
image = plt.imread('binary_image.png')
# 對圖像進行標記
label_image = label(image)
# 提取連通區域的屬性
regions = regionprops(label_image)
# 打印每個連通區域的屬性
for region in regions:
print('Label:', region.label)
print('Area:', region.area)
print('BoundingBox:', region.bbox)
print('Centroid:', region.centroid)
print('Perimeter:', region.perimeter)
print('Eccentricity:', region.eccentricity)
print('----------------------')
在上述代碼中,首先使用matplotlib.pyplot.imread
函數讀取二進制圖像。然后,使用skimage.measure.label
函數對圖像進行標記,將相鄰的像素分組為連通區域。接下來,使用skimage.measure.regionprops
函數提取連通區域的屬性。最后,使用循環遍歷每個連通區域,并打印其屬性。
注意,這里假設圖像中的連通區域已經被正確地標記。如果圖像中的連通區域沒有被標記,可以使用skimage.measure.label
函數進行標記。