我正在为iOS开发Swift项目。我想认出笔迹。我正在尝试使用Vision来做到这一点。但是每次发送请求时,我都会得到完全相同的输出。
我已经在Mac上尝试了MLModel,并且可以正常工作。
func imageChanged(image: UIImage) {
guard let model = self.model else {
print("Model must not be nil")
return
}
let request = VNCoreMLRequest(model: model, completionHandler: { [weak self] request, error in
guard let results = request.results as? [VNClassificationObservation],
let _ = results.first else {
print("No results found")
return
}
DispatchQueue.main.async { [weak self] in
if let first = results.first {
if Int(first.confidence * 100) > 1 {
self?.resultLabel.text = "I see \(first.identifier) with \(first.confidence*100)"
}
}
}
})
guard let ciImage = CIImage(image: image) else {
print("Could not convert UIImage to CIImage")
return
}
let handler = VNImageRequestHandler(ciImage: ciImage)
DispatchQueue.global(qos: .userInteractive).async {
do {
try handler.perform([request])
} catch {
print(error)
}
}
}
当我在应用程序中绘制内容时,会调用imageChanged。我希望它能放心输出数字。但它总是打印“减0.9999527”
答案 0 :(得分:0)
我知道了!
此功能有效。我通过的图片格式错误。