下面的代码只能识别单词,但我不知道如何获取位置。 我可以获取文本,但不能获取边界框。
来自:https://medium.com/@jakir/text-recognition-or-ocr-using-vision-framework-ios-swiftui-b9c5df36ec32
import SwiftUI
import Vision
struct ContentView: View {
@State var recognizedText = ""
var body: some View {
VStack {
Text("OCR using Vission")
.font(.title)
Image("quote")
.resizable()
.scaledToFit()
Button("Recognize Text"){
ocr()
}
TextEditor(text: $recognizedText)
}
.padding()
}
func ocr() {
let image = UIImage(named: "quote")
if let cgImage = image?.cgImage {
// Request handler
let handler = VNImageRequestHandler(cgImage: cgImage)
let recognizeRequest = VNRecognizeTextRequest { (request, error) in
// Parse the results as text
guard let result = request.results as? [VNRecognizedTextObservation] else {
return
}
// Extract the data
let stringArray = result.compactMap { result in
result.topCandidates(1).first?.string
}
// Update the UI
DispatchQueue.main.async {
recognizedText = stringArray.joined(separator: "\n")
}
}
// Process the request
recognizeRequest.recognitionLevel = .accurate
do {
try handler.perform([recognizeRequest])
} catch {
print(error)
}
}
}
}
我访问了很多网站但没有找到结果
这个答案告诉我们如何识别句子边界框而不是单词 在 Vision Framework - SwiftUI 中使用 VNRecognizeTextRequest 的 .accurate 提取字级边界框