【问题标题】:Image/Color Comparison in Objective-CObjective-C 中的图像/颜色比较
【发布时间】:2012-10-04 16:09:38
【问题描述】:

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

谢谢!!

马可

【问题讨论】:

    标签: iphone objective-c image colors comparison


    【解决方案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 或任何你想要的方法。以上只是一个例子。

    【讨论】:

    • 感谢您的回答,但我怎样才能(在这种情况下)从图像中获取 RGB0 和 RGB1?
    • @mutexmark - 我建议您针对从图像中读取像素的细节提出一个新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-01
    • 1970-01-01
    相关资源
    最近更新 更多