我正在尝试使用核心检测器获取图像上的文本区域。
- (NSArray *)detectWithImage:(UIImage *)img
{
// prepare CIImage
CIImage *image = [CIImage imageWithCGImage:img.CGImage];
// flip vertically
CIFilter *filter = [CIFilter filterWithName:@"CIAffineTransform"];
[filter setValue:image forKey:kCIInputImageKey];
CGAffineTransform t = CGAffineTransformMakeTranslation(0, CGRectGetHeight(image.extent));
t = CGAffineTransformScale(t, 1.0, -1.0);
[filter setValue:[NSValue valueWithCGAffineTransform:t] forKey:kCIInputTransformKey];
image = filter.outputImage;
// prepare CIDetector
CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeText
context:nil
options:@{
CIDetectorAccuracy: CIDetectorAccuracyHigh}];
// retrive array of CITextFeature
NSArray *features = [detector featuresInImage:image
options:@{CIDetectorReturnSubFeatures: @YES}];
return features;
}
传递的图像是:
我从这张图片中一无所获。我也尝试了彩色图像,也没有翻转图像。
有人可以指出我正确的方向吗?
谢谢!