首页 > 解决方案 > 使用预定义范围的图像聚类 - Python

问题描述

我是 python 语言的新手。我的目标是根据预定义的范围对图像进行分类。

  1. 我有三个图像数据,即。降雨量、土壤水分和枯萎点等都是浮式。
  2. 我已经预先定义了可耕地的范围。RF < 5mm,土壤湿度在 8 到 16 之间,枯萎 pt 在 2 到 4 之间。
  3. 我需要将具有这些预定义范围的上述数据分类为非常好(如果满足三个条件),中等(满足两个条件中的任何一个)低(满足一个条件)和无用(不满足任何条件)

请帮助我进行分类。提前谢谢你

我已经尝试过条件语句的方法,但我勉强通过它。很多错误。

标签: python-3.x

解决方案


假设您有一个向量列表,并且每个向量维度应该是 3。我将向您发布一个示例,说明我将如何做到这一点。

data = [[1.0, 7.0, 1.0], [5.0, 9.0, 2.0], [6.0, 15.0, 4.0]] #[RF, Soil Moist, Wilting pt]
results = []
for vector in data:
    checks = [False, False, False]
    if(vector[0]<5.0):
        checks[0]=True
    if(vector[1]>=8.0 and vector[1]<=16.0):
        checks[1]=True
    if(vector[2]>=2.0 and vector[2]<=4.0):
        checks[2]=True

    #Decision
    num_trues = sum(checks)
    results.append(num_trues)

print(num_trues)

这里的结果列表是一个整数列表,每个值对应于数据中相同的向量位置。

请注意,您的分类将是数字: - 0,满足任何条件 - 1,满足一个条件 - 2,满足两个条件 - 3,满足三个条件

希望能帮助到你!


推荐阅读