【问题标题】:Get euclidean distance between colour and list of colours获取颜色和颜色列表之间的欧几里得距离
【发布时间】:2019-07-27 01:33:36
【问题描述】:

在 numpy 或 scipy 或 scikit-learn 中,我如何找到一种颜色与一组颜色之间的距离?我知道如何找到 2 组颜色之间的欧几里得距离。但是我只有一种颜色,我想知道它与颜色数组之间的欧几里得距离,以便我可以在该数组中找到“最接近”的颜色?

以下适用于 2 个颜色数组,但不适用于 1 个颜色与一组颜色:

from scipy.spatial.distance import cdist, euclidean
colour = (255,0,0)
colours = [(255,0,0), (255,0,0), (255,0,0)]
colour_array = [(255,255,255), (0,0,0), (255,0,0)]
dists = cdist(colour, colour_array)  # error because not same shape/dimensions

【问题讨论】:

    标签: numpy scipy scikit-image


    【解决方案1】:

    您可以简单地将单一颜色放入一个元素数组中,并将其与您的颜色数组进行比较。例如:

    from scipy.spatial.distance import cdist
    
    colour = (255, 0, 0)
    colour_array = [(255, 255, 255), (0, 0, 0), (255, 0, 0)]
    
    # Note change here.
    dists = cdist([colour], colour_array)
    

    我希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2015-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-14
      • 2011-01-29
      • 2023-03-12
      • 2013-07-20
      • 2014-10-16
      相关资源
      最近更新 更多