我正在使用iOS 11的Vision框架来检测图像上的文本。成功检测到文本,但我们如何获取检测到的文本。
答案 0 :(得分:1)
在Apple Vision中,您可以使用VNRecognizeTextRequest类轻松地从图像中提取文本,从而使您可以发出图像分析请求,以查找和识别图像中的文本。
VNRecognizeTextRequest
从iOS 13.0和macOS 10.15起开始工作。
下面是一个代码片段,向您展示如何实现:
let requestHandler = VNImageRequestHandler(url: imageURL, options: [:])
let request = VNRecognizeTextRequest { (request, error) in
guard let observations = request.results as? [VNRecognizedTextObservation]
else { return }
for observation in observations {
let topCandidate: [VNRecognizedText] = observation.topCandidates(1)
if let recognizedText: VNRecognizedText = topCandidate.first {
label.text = recognizedText.string
}
}
}
然后,您必须为recognitionLevel
实例属性分配一个值:
// non-realtime asynchronous but accurate text recognition
request.recognitionLevel = VNRequestTextRecognitionLevel.accurate
// nearly realtime but not-accurate text recognition
request.recognitionLevel = VNRequestTextRecognitionLevel.fast
try? requestHandler.perform([request])
答案 1 :(得分:0)
不完全是一种欺骗,但类似于:Converting a Vision VNTextObservation to a String
您需要使用CoreML或其他库来执行OCR(SwiftOCR等)
答案 2 :(得分:-4)
这将在检测到的文本上返回带有矩形框的叠加图像
这是完整的xcode项目 https://github.com/cyruslok/iOS11-Vision-Framework-Demo
希望它有用
MobileServiceClient client = new MobileServiceClient("https://{your-app-name}.azure-mobile.net/")
{
LoginUriPrefix = "/login"
};
var user=await client.LoginAsync(MobileServiceAuthenticationProvider.Facebook,false);