Iphone 像素颜色匹配估计

Iphone 像素颜色匹配估计,iphone,c,image,ios,rgb,Iphone,C,Image,Ios,Rgb,出于图像扫描的目的,我想要一个像素(我可以从UIImage中获得)与预设的颜色相匹配(以一定的百分比) 说粉红色。当我扫描图像中粉红色的像素时,我希望函数返回像素中RGB值与预设RGB值相似的百分比。通过这种方式,我希望所有(嗯,大多数)粉红色像素对我来说都“可见”,而不仅仅是精确匹配 有人熟悉这种方法吗?你会怎么做这样的事 提前谢谢 更新:感谢大家迄今为止的回答。我接受了Damien Pollet的答案,因为它进一步帮助了我,我得出结论,计算两种RGB颜色之间的矢量差非常适合我(此时)。随着时

出于图像扫描的目的,我想要一个像素(我可以从UIImage中获得)与预设的颜色相匹配(以一定的百分比)

说粉红色。当我扫描图像中粉红色的像素时,我希望函数返回像素中RGB值与预设RGB值相似的百分比。通过这种方式,我希望所有(嗯,大多数)粉红色像素对我来说都“可见”,而不仅仅是精确匹配

有人熟悉这种方法吗?你会怎么做这样的事

提前谢谢

更新:感谢大家迄今为止的回答。我接受了Damien Pollet的答案,因为它进一步帮助了我,我得出结论,计算两种RGB颜色之间的矢量差非常适合我(此时)。随着时间的推移,它可能需要一些调整,但现在我使用以下内容(在目标c中):

如果此差异低于85,我接受该颜色作为目标颜色。因为我的算法不需要精确性,所以我同意这个解决方案:)

更新2:在我搜索更多信息时,我发现了以下URL,如果您正在寻找类似的内容,它可能对您非常有用(轻描淡写)


我想说,只需计算目标颜色的矢量差,并检查其范数是否小于某个阈值。我怀疑在这方面有些人比其他人更好,可能是HSL或L*ab,因为它们将亮度与色调本身分开,因此可能通过较小的颜色向量表示较小的感知差异


另外,请参见科学答案:您应该将两种颜色转换为实验室颜色空间,并计算那里的欧几里得距离。该值也称为deltaE

实验室空间的开发(使用测试人员)正是为了这个原因:因此,在tnis空间中具有相同距离的不同颜色对对应于相同的感知色差

然而,听起来你并不是在寻找一种特定的颜色,而是一种颜色范围(比如说所有肤色)。这可能需要更多的用户输入,而不仅仅是参考颜色+三角形公差:

  • 色相、饱和度和亮度有3个公差的参考颜色

  • 参考颜色样本的云


这取决于您对粉色的定义。深粉色还是粉红色?
float difference = pow( pow((red1 - red2), 2) + pow((green1 - green2), 2) + pow((blue1 - blue2), 2), 0.5 );