我可以比较两张图片吗?

时间:2017-06-07 09:16:14

标签: objective-c

我想比较两个图像。如果可能,那就给我代码。我试过了,但这需要更多的记忆,也需要花费大量的时间来进行比较。

在我的设备中,有两个相同的图像可用,但该网址不同。首先,我将该网址转换为图片,之后转换为数据并相互比较。

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
             [library assetForURL:imageUrl
                      resultBlock:^(ALAsset *asset) {
                        UIImage *image1=[UIImage imageWithCGImage:[[asset defaultRepresentation] fullScreenImage]];

                          NSData *data1 = UIImageJPEGRepresentation(image1, 0.01);
                          NSData *data2 = UIImageJPEGRepresentation(image2, 0.01);

                            if ([data1 isEqualToData:data2]){
                                NSLog(@"YES");
                            }
                            else{
                                NSLog(@"NO");
                            }

                      }

                     failureBlock:^(NSError *error){
                         NSLog(@"operation was not successfull!");
                     } ];

1 个答案:

答案 0 :(得分:1)

您可以使用NSData来比较两个图像..

- (BOOL)image:(UIImage *)image1 isEqualTo:(UIImage *)image2
{
    NSData *imgData1 = UIImagePNGRepresentation(image1);
    NSData *imgData2 = UIImagePNGRepresentation(image2);

    return [imgData1 isEqual:imgData2];
}