feat: 原版增加斑点数量统计
输出检测到的有效斑点数、面积统计(最小/最大/均值/中位数)
This commit is contained in:
@@ -410,7 +410,23 @@ def main() -> None:
|
||||
bw_img.save(os.path.join(OUTPUT_DIR, 'result_I_bw.png'))
|
||||
print(" 保存: result_I_bw.png")
|
||||
|
||||
# ---- 步骤4: 网格叠加图 ----
|
||||
# ---- 步骤4: 统计点数 ----
|
||||
print("\n[步骤4] 统计斑点数量...")
|
||||
labeled_spots, num_spots = ndimage.label(bw_full)
|
||||
# 统计每个斑点的面积
|
||||
spot_sizes = []
|
||||
for i in range(1, num_spots + 1):
|
||||
size = int(np.sum(labeled_spots == i))
|
||||
spot_sizes.append(size)
|
||||
spot_sizes = np.array(spot_sizes)
|
||||
# 过滤极小噪声
|
||||
valid_spots = spot_sizes[spot_sizes >= 10]
|
||||
print(f" 检测到 {len(valid_spots)} 个斑点 (面积≥10像素)")
|
||||
print(f" 斑点面积: 最小 {valid_spots.min()}, 最大 {valid_spots.max()}, "
|
||||
f"均值 {valid_spots.mean():.1f}, 中位数 {np.median(valid_spots):.0f}")
|
||||
print(f" 网格子块数 (理论值): {(len(x_grid)-1) * (len(y_grid)-1)}")
|
||||
|
||||
# ---- 步骤5: 网格叠加图 ----
|
||||
if img.ndim == 3:
|
||||
overlay = img[:, :, :3].copy()
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user