我有11种特定的颜色,希望将普通的RGB图像限制在这11种颜色内,目前我使用的方法是通过计算欧几里得距离找到最接近的颜色,这是最简单的方法,但由于未来我将使用微处理器来实现这一点,速度对我来说非常重要,是否有其他方法,比如使用ANN或其他机器学习或图像处理技术来加速这个过程?提前谢谢你
P.S.: 这个问题叫什么名字?我可以更好地搜索相关信息
回答:
如果你已经确定了这11种颜色,可以构建一个kd树(或类似的数据结构;搜索关键词可以是空间数据分区树),每个节点包含一个大小为3的RGB向量。
注意:这些数据结构需要你定义使用的度量标准。
欧几里得距离/L2范数听起来不错,但从图像算法的角度来看,我建议将所有内容转换到为人类感知设计的颜色空间,然后在该空间上使用L2范数。
然后,对于图像的每个像素,你可以查询最近邻,这是这些数据结构的核心方法。
可能的加速效果取决于细节。正如Mark所说:进行基准测试吧!
你要找的关键词可能是最近邻搜索。有很多替代方案,包括近似方法(对于你的情况可能不需要)。