ios – 如何从VNClassificationObservation获取对象rectcoordinates

ios – 如何从VNClassificationObservation获取对象rectcoordinates,第1张

概述从VNClassificationObservation获取问题. 我的目标是识别对象并使用对象名称显示d出窗口,我能够获得名称,但我无法获得对象坐标或框架. 这是代码: let handler = VNImageRequestHandler(cvPixelBuffer: pixelBuffer, options: requestOptions)do { try handler.perf 从VNClassificationObservation获取问题.

我的目标是识别对象并使用对象名称显示d出窗口,我能够获得名称,但我无法获得对象坐标或框架.

这是代码:

let handler = VNImageRequestHandler(cvPixelBuffer: pixelBuffer,options: requestoptions)do {    try handler.perform([classificationRequest,detectFaceRequest])} catch {    print(error)}

然后我处理

func handleClassification(request: VNRequest,error: Error?) {      guard let observations = request.results as? [VNClassificationObservation] else {          fatalError("unexpected result type from VNCoreMLRequest")      }    // Filter observation    let filteredOservations = observations[0...10].filter({ 
lazy var classificationRequest: VNCoreMLRequest = {    // Load the ML model through its generated class and create a Vision request for it.    do {        let model = try VNCoreMLModel(for: Inceptionv3().model)        let request = VNCoreMLRequest(model: model,completionHandler: self.handleClassification)        request.imageCropAndScaleOption = VNImageCropAndScaleOptionCenterCrop        return request    } catch {        fatalError("can't load Vision ML model: \(error)")    }}()
.confIDence > 0.1 }) // Update UI dispatchQueue.main.async { [weak self] in for observation in filteredOservations { print("observation: ",observation.IDentifIEr) //HERE: I need to display popup with observation name } }}

更新:

解决方法 那是因为分类器不返回对象坐标或帧.分类器仅在类别列表上给出概率分布.

你在这里使用什么型号?

总结

以上是内存溢出为你收集整理的ios – 如何从VNClassificationObservation获取对象rect / coordinates全部内容,希望文章能够帮你解决ios – 如何从VNClassificationObservation获取对象rect / coordinates所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1114949.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存