安装
threshold(二值化)
| from skimage import filters
|
Li
Compute threshold value by Li’s iterative Minimum Cross Entropy method.
| thresh = filters.threshold_li(img)
|
Ostu
| thresh = filters.threshold_otsu(img)
|
连通区域:regionprops
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | 属性名称 类型 描述
area int 区域内像素点总数
bbox tuple 边界外接框(min_row, min_col, max_row, max_col)
centroid array 质心坐标(y,x)
convex_area int 凸包内像素点总数
convex_image ndarray 和边界外接框同大小的凸包
coords ndarray 区域内像素点坐标
Eccentricity float 离心率
equivalent_diameter float 和区域面积相同的圆的直径
euler_number int 区域欧拉数
extent float 区域面积和边界外接框面积的比率
filled_area int 区域和外接框之间填充的像素点总数
perimeter float 区域周长
label int 区域标记
|
找最大连通区域:
| from skimage import measure
def get_max_bbbox(mask):
single_labels = measure.label(mask, connectivity=2)
single_regions = measure.regionprops(single_labels)
if not single_regions:
return None
area = [ele.area for ele in single_regions]
largest_blob_ind = np.argmax(area)
bbox = single_regions[largest_blob_ind].bbox #(y1,x1,y2,x2)
return box
|
Reference