项目需要增加二维码图片识别功能,有张二维码死活识别不出来。但是安卓可以识别,且都是使用Google ZXing框架识别。为了增加识别成功率,其中思路是将图片转换成黑白照片,去除其他干扰。
代码示例:
//转化成黑白图像
- (UIImage*) convertImageToGreyScale:(UIImage*) image
{
CGRect imageRect = CGRectMake(0, 0, image.size.width, image.size.height);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();
CGContextRef context = CGBitmapContextCreate(nil, image.size.width, image.size.height, 8, 0, colorSpace, kCGImageAlphaNone);
CGContextDrawImage(context, imageRect, [image CGImage]);
CGImageRef imageRef = CGBitmapContextCreateImage(context);
UIImage *newImage = [UIImage imageWithCGImage:imageRef];
CGColorSpaceRelease(colorSpace);
CGContextRelease(context);
CFRelease(imageRef);
return newImage;
}
在项目中遇到二维码识别问题,iOS平台使用Google ZXing框架无法识别某些二维码,而安卓正常。为提升识别成功率,采取策略将图片转换为黑白。以下是iOS将图片转为黑白的代码片段。
540

被折叠的 条评论
为什么被折叠?



