美文网首页
如何更准确的识别出相册的二维码

如何更准确的识别出相册的二维码

作者: Gu_Liang | 来源:发表于2017-12-27 17:28 被阅读30次

最近公司碰到一个需求:聊天禁止二维码。然后碰到微信的个人名片二维码有一张识别不出来(个人二维码有很多样式的)

识别二维码 

我是写的一个UIImage的类目实现

- (NSString *)qrimageToStr{ CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeQRCode context:nil options:nil]; UIImage *image = [self imageCompressForWidth:640]; NSArray *features = [detector featuresInImage:[CIImage imageWithCGImage:image.CGImage]];

    __block NSString *message = nil;

    [features enumerateObjectsUsingBlock:^(CIFeature * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

        if ([obj isKindOfClass:[CIQRCodeFeature class]]) {

            message = [(CIQRCodeFeature *)obj messageString];

            *stop=YES;

        }

    }];

    return message;

}

最开始发现不能识别二维码就以为是识别精度问题,然后就设置了options:@{CIDetectorAccuracy:CIDetectorAccuracyHigh}

发现还是识别不出来,于是想到下压缩下图片试试,没想到一试就ok了。

压缩图片

- (UIImage *)imageCompressForWidth:(CGFloat)defineWidth

{

    CGSize imageSize = self.size;

    CGFloat width = imageSize.width;

    CGFloat height = imageSize.height;

    CGFloat targetWidth = defineWidth;

    NSInteger targetHeight = (targetWidth / width) * height;

    UIGraphicsBeginImageContext(CGSizeMake(targetWidth, targetHeight));

    [self drawInRect:CGRectMake(0,0,targetWidth,  targetHeight)];

    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return newImage;

}

识别二维码时,压缩图片会提高精度和效率。

当二维码识别不出来时可以试试压缩图片

相关文章

  • 如何更准确的识别出相册的二维码

    最近公司碰到一个需求:聊天禁止二维码。然后碰到微信的个人名片二维码有一张识别不出来(个人二维码有很多样式的) 识别...

  • 如何准确识人?

    这期武志红老师讲到了他是如何识人的?他讲了主要有以下几个方面: 凭借直觉。这份直觉常常发生在刚见面的一瞬间,一般不...

  • 进击的Bug---那些年我遇到的大坑2

    功能要求:识别图片中的二维码,并将识别出的二维码加上红色边框 Bug:测试过程中发现,识别出二维码的frame不正...

  • iOS二维码扫描和创建(下)

    在上一篇文章《二维码扫描和创建(上)》中我们已经介绍了三种扫描二维码的方式和如何扫描相册中的二维码图片,想查看的可...

  • 输入内容,一行代码搞定二维码生成

    LYQRView 一行代码输出二维码 长按二维码可以保存到相册--以项目名称命名创建一个相册,将二维码图片保存至该...

  • 笔记:如何快速且准确的识人

    一、人们可以通过身份标签、情感调节器和行为痕迹来分析一个人的性格特质。 二、整体环境的氛围、物品的摆放、肢体语言和...

  • 日更101篇,如何识人?

    见: 今天看武志红心理课,我如何识人? 老师的意思,说认识人,第一印象很重要,有时候直觉更准确。 意识层面的学习是...

  • 易泊移动端车牌识别软件特点

    1、识别速度快 “只需扫一扫,快速识别车牌” 像扫描二维码一样轻轻一扫,便可快速准确的识别出车牌号码。 2、支持超...

  • 易泊移动端车牌识别软件特点

    1、识别速度快 “只需扫一扫,快速识别车牌” 像扫描二维码一样轻轻一扫,便可快速准确的识别出车牌号码。 2、支持超...

  • 隐私政策

    隐私政策 音乐相册管家尊重并保护所有使用音乐相册管家网络服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务...

网友评论

      本文标题:如何更准确的识别出相册的二维码

      本文链接:https://www.haomeiwen.com/subject/aunugxtx.html