我写了一个算法,假设背景是纯色的,它用 1 个对象检测图像的主要颜色。以下是我目前正在运行的基本步骤:
- 在整个图像上运行 k-means 算法 (k = 10)
- 删除与像素 (0,0) 具有相同类别的点
- 使用剩余点 (k = 3) = > 3 种主要颜色运行新的 k-means 算法
尽管它可能不是最聪明的算法,但我对结果非常满意,除非对象的大部分与背景颜色相同。例如,当对象主要是白色背景上的白色时,算法自然倾向于将对象的白点与背景分类。
我将如何获得一种适用于所有情况的通用方法(我对白色物体没有先验知识)?可以假设对象水平和垂直居中。然而,对于物体的形状或其中的颜色数量(有时它是素色的,有时它有许多不同的颜色),我们无法假设。谢谢 !
(我相信我已经阅读了所有可能的相关帖子!)
编辑:我得到的典型结果:
这就是第一个 k-means 对点进行分类的方式(左:k = 10,右:k= 3):