【问题标题】:OS X: Comparing two imagesOS X:比较两个图像
【发布时间】:2015-12-02 17:06:15
【问题描述】:

我正在尝试实现一种比较两个图像的方法,但我正在测试我的图像并比较相同的图像,以确保它可以正常工作但不能正常工作。这是可能的代码:

NSImage *file = [[NSImage alloc] initWithContentsOfFile:path];
NSData *imgDataOne = [file TIFFRepresentation];
NSData *imgDataTwo = [file TIFFRepresentation];

if (imgDataOne == imgDataTwo)
{
    NSLog(@"is the same image");
}

如果永远不正确。你们中的任何人都知道我做错了什么,或者是否有另一种比较图像的方法?

非常感谢您的帮助。

【问题讨论】:

  • if ([imgDataOne isEqual:imgDataTwo])?你在比较指针。
  • 你能散列每张图片吗?
  • @Larme 使用 isEqual 或 isEqualToData 有效。谢谢!

标签: objective-c macos xcode7 nsdata nsimage


【解决方案1】:

TIFFRepresentation 将返回一个新的 NSData 对象。使用 == 运算符比较这些对象将始终返回 false,因为它们是两个不同的对象。

NSData 有isEqualToData 方法来测试这两个 NSData 对象是否包含相同的二进制数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 2010-09-06
    • 2013-12-30
    • 2018-04-26
    相关资源
    最近更新 更多