【发布时间】:2017-04-02 18:32:46
【问题描述】:
假设我有一个像this one 这样的球图像:
我想将球的颜色分成颜色组。在这种情况下,我应该有 2 个主要颜色组 - “棕色”和“白色”。 “棕色”组将具有所有棕色像素,“白色”组将具有所有白色像素。 我正在使用 matlab 来完成这项任务。我想这样做的方式是:
- 查看 RGB 通道。我使用
scatter来查看是否可以清楚地看到一些组,但我没有。 - 查看拜耳河谷。但也看不到任何群组。
- 运行边缘检测器。然后,在每个封闭区域中,我会找到像素的平均值。具有相似平均值(在某个阈值内)的区域将属于同一组。它似乎有点工作,但在许多情况下它没有
- 还有其他想法吗?
【问题讨论】:
-
基于颜色的图像分割方法有很多,example可以使用kmeans。谷歌搜索更多。
-
你想把你的图片分成几组?总是 2?
-
查看相关的 QA:RGB value base color name 以方便破解,但本质上您想做基于颜色的分割。它类似于洪水填充,但是当任何一种颜色与起点颜色或基于 2 个阈值(绝对和相对)的相邻颜色距离太远时,您会停止。如果你想要 ROI,那么你可以直接填充/标记它,保留原始图像。
标签: algorithm matlab image-processing