【问题标题】:How to differentiate two colours?如何区分两种颜色?
【发布时间】:2018-10-04 13:23:39
【问题描述】:
一点理论问题。我想有人解释一下哪种颜色空间在相似的颜色之间提供了最好的距离?我正在尝试使用普通 RGB 相机在杏仁和花生等干果中制作湿度检测系统。我已经为 EDA 尝试了 RGB 和 HSV 颜色空间(请查找附件)。目前我无法找到接受和拒绝模型之间的真正巨大差异。如果有人能告诉我应该寻找什么以及在哪里寻找,那将是一个很大的帮助。
【问题讨论】:
标签:
python
machine-learning
colors
computer-vision
opencv3.0
【解决方案1】:
这个问题的问题在于,如果没有一些度量值,你就无法定义“相似的外观”,而度量值取决于你选择的色彩空间。
也就是说,CIELab 色彩空间据说应该是为了具有相似坐标的相似颜色而创建的,并且经常用于对象识别。不过自己没用过,所以没有亲身体验。
【解决方案2】:
对于初学者,我建议将与干果相关的像素视为您选择的颜色空间中的 3D 坐标,并尝试对这些数据点应用分类算法。我能想到的常用算法有线性判别分析(LDA)、支持向量机(SVM)和期望最大化(EM)。所有这些算法都属于监督学习类,因为它们需要标记数据。
如果您的图像是在不同的光照条件下拍摄的,那么色彩空间的一个不错选择是将亮度值与色度值(例如 LUV)分开。
无论如何,如果您提供示例图像,将更容易回答这个问题。