如何在OpenCV和Python中的NumPy中区分树木和建筑物

时间:2019-12-25 21:13:14

标签: python numpy opencv image-processing classification

我正在尝试在数字高程模型中对建筑物和树木进行分类。

树通常看起来像这样:enter image description here

建筑物通常看起来像这样:enter image description here

请注意,与建筑物相比,树木的无序性增加了。我最初尝试使用np.var来区分两者,但结果却不一致。是否有其他非机器学习方法可以对这两种方法进行分类,最好是基于树木无序性增加的方法?

1 个答案:

答案 0 :(得分:0)

免责声明:我的答案可能是过度拟合和错误的,因为它仅基于两个示例图像

方法1:

只需基于“方形度”进行分类-

delta_x = |x_min - x_max|, delta_y = |y_min - y_max|
spread_ratio = delta_y/delta_x
if spread_ratio > thresh:
   classify as tree
else:
  classify as building

方法2:  您的图像有非常不同的颜色。如果与高度相对应,则可以根据树和建筑物的平均高度找到阈值