Apple Vision Framework:LCD/LED 数字识别
Apple Vision Framework: LCD/LED digit recognition
我正在开发一个 iOS 应用程序,在我尝试捕获数字时钟、计算器、血压计、电子温度计等的图像之前,一切似乎都运行良好。
出于某种原因 Apple Vision Framework and VNRecognizeTextRequest 无法识别像这样的原始 LCD 屏幕上的文本:
您可以尝试使用 Apple's sample project 捕获数字,但它会失败。或者您可以尝试 Vision Framework 的任何其他示例项目,它将无法将数字识别为文本。
作为最终框架用户,我可以做什么?有解决方法吗?
您可以训练自己的模型,例如https://developer.apple.com/documentation/vision/training_a_create_ml_model_to_classify_flowers
训练模型...
使用最多 1 万张包含数字时钟、计算器、血压计等屏幕的图像训练您自己的 .mlmodel
。为此,您可以使用 Xcode Playground
或 Apple Create ML
应用程序。
您可以将以下代码复制并粘贴到 macOS Playground 中:
import Foundation
import CreateML
let trainDir = URL(fileURLWithPath: "/Users/swift/Desktop/Screens/Digits")
// let testDir = URL(fileURLWithPath: "/Users/swift/Desktop/Screens/Test")
var model = try MLImageClassifier(trainingData: .labeledDirectories(at: trainDir),
parameters: .init(featureExtractor: .scenePrint(revision: nil),
validation: .none,
maxIterations: 25,
augmentationOptions: [.blur, .noise, .exposure]))
let evaluation = model.evaluation(on: .labeledDirectories(at: trainDir))
let url = URL(fileURLWithPath: "/Users/swift/Desktop/Screens/Screens.mlmodel")
try model.write(to: url)
正在从图像中提取文本...
如果您想知道如何使用 Vision 框架从图像中提取文本,请查看 this post。
我正在开发一个 iOS 应用程序,在我尝试捕获数字时钟、计算器、血压计、电子温度计等的图像之前,一切似乎都运行良好。
出于某种原因 Apple Vision Framework and VNRecognizeTextRequest 无法识别像这样的原始 LCD 屏幕上的文本:
您可以尝试使用 Apple's sample project 捕获数字,但它会失败。或者您可以尝试 Vision Framework 的任何其他示例项目,它将无法将数字识别为文本。
作为最终框架用户,我可以做什么?有解决方法吗?
您可以训练自己的模型,例如https://developer.apple.com/documentation/vision/training_a_create_ml_model_to_classify_flowers
训练模型...
使用最多 1 万张包含数字时钟、计算器、血压计等屏幕的图像训练您自己的 .mlmodel
。为此,您可以使用 Xcode Playground
或 Apple Create ML
应用程序。
您可以将以下代码复制并粘贴到 macOS Playground 中:
import Foundation
import CreateML
let trainDir = URL(fileURLWithPath: "/Users/swift/Desktop/Screens/Digits")
// let testDir = URL(fileURLWithPath: "/Users/swift/Desktop/Screens/Test")
var model = try MLImageClassifier(trainingData: .labeledDirectories(at: trainDir),
parameters: .init(featureExtractor: .scenePrint(revision: nil),
validation: .none,
maxIterations: 25,
augmentationOptions: [.blur, .noise, .exposure]))
let evaluation = model.evaluation(on: .labeledDirectories(at: trainDir))
let url = URL(fileURLWithPath: "/Users/swift/Desktop/Screens/Screens.mlmodel")
try model.write(to: url)
正在从图像中提取文本...
如果您想知道如何使用 Vision 框架从图像中提取文本,请查看 this post。