Программируем под IOS
-
Anonymous
Swiftui - Как я могу распознать слова и получить позиции в видении
Сообщение
Anonymous »
Приведенный ниже код может просто распознавать для слов, но я не знаю, как получить позиции.
Код: Выделить всё
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)
}
}
}
}
Я посетил много веб -сайтов, но не нашел результатов
Подробнее здесь:
https://stackoverflow.com/questions/781 ... -in-vision
1740847538
Anonymous
Приведенный ниже код может просто распознавать для слов, но я не знаю, как получить позиции.[code]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)
}
}
}
}
[/code]
Я посетил много веб -сайтов, но не нашел результатов
Подробнее здесь: [url]https://stackoverflow.com/questions/78176545/swiftui-how-can-i-recognize-words-and-get-positions-in-vision[/url]