我已按如下所示初始化textlinedetector
self.textDetector = [GMVDetector detectorOfType:GMVDetectorTypeText options:nil];
由于我只需要行而不是整个块,因此我直接访问GMVTextLineFeature
,并且直接从摄像机预览中输入UIImage
类型的图像。
NSArray<GMVTextLineFeature *> *features = [self.textDetector featuresInImage:[_Result originalImage] options:nil];
但是上面的数组为nil。
[myOperation setCompletionBlock:^{
for (GMVTextLineFeature *textLine in features) {
NSLog(@"value of each element: %@", textLine.value);
_Result.text = textLine.value;
}
[self finishDetection];
}];
[_operationQueue addOperation:myOperation];
我担心的是,我的项目陷入了困境,而GoogleVision却是内置在可可足类中。因此,我手动将框架文件复制到我的项目中,并在frameworks and libraries
中进行了链接。我还链接了框架的资源文件,其中包含copy resource bundles
下的所有conv配置文件。
但是feature
对象是nil
。我也多次清洁建造了该项目。由于我是iOS的新手,所以我无法弄清楚这是Cocoapods遇到问题还是实现方式。但这就是在演示应用TextDetectorDemo中实现的方式。我正在使用xcode 9.4。
任何见解或任何变通办法将不胜感激。
先谢谢了。
答案 0 :(得分:0)
转换或重新创建UIImage,然后再传递给具有类似扩展名的移动视觉,可以根据需要更改滤镜
extension UIImage {
var noir: UIImage? {
let context = CIContext(options: nil)
guard let currentFilter = CIFilter(name: "CISharpenLuminance") else { return nil }
currentFilter.setValue(CIImage(image: self), forKey: kCIInputImageKey)
if let output = currentFilter.outputImage,
let cgImage = context.createCGImage(output, from: output.extent) {
return UIImage(cgImage: cgImage, scale: scale, orientation: imageOrientation)
}
return nil
}
}