0

我试图找到一种方法来比较两个图像。让我给你一个例子,这样你就可以更好地理解:我的应用程序会随机化一种颜色(她会随机化一个从 0 到 255 的 R 值,然后是 G 和 B,结果是完全随机的 RGB 颜色)。现在用户将从 iPhone 的相机中拍照,应用程序将颜色与图像进行比较。示例:应用程序选择 RGB = 205,133,63,它是棕色的:用户将拍摄一张桌子棕色细节的照片。现在我需要比较 iPhone 选择的棕色和图片的棕色并显示一个结果(例如:“图片与给定颜色相比忠实于 88%”)。我在互联网上找到了这个例子,但我可以弄清楚如何在我的应用程序中实现它:http ://www.youtube.com/watch?v=hWRPn7IsChI

谢谢!!

马可

4

1 回答 1

1

有很多方法可以做到这一点。如果您想保持简单,您可以平均整个图像的颜色。为简单起见,假设您的图像只有两个像素: RGB0 = 255, 0, 0(红色) RGB1 = 0, 0, 0(黑色)

两者之间的平均值将为 RGB_AVG = 128, 0, 0(深红色)

现在您可以计算此平均值与所选颜色 205、133、63 之间的差异。您也可以通过多种不同的方式进行计算。这是一个:

R = 205 - 128 = 80 
G = 133 - 0 = 133
B = 63 - 0 = 63
Total = 80 + 133 + 63 = 276

Total score = (756 - 276) / 756 = 63.5%

这只是一种方法,您可以在字典中收集所有颜色并在需要时对其进行计数以使其超级准确。这完全取决于您想要达到的目标。

顺便说一句:如果您的数字高于您的样本颜色,请确保您的数字最终不会更高。使用 ABS 或任何你想要的方法。以上只是一个例子。

于 2012-10-04T16:36:58.257 回答