小编Tam*_*ury的帖子

对于两个不同的 iOS 版本(如 iOS 16.0 和 iOS 17.0)中的两个图像,“VNFeaturePrintObservation”和视距计算是否不同?

我想知道两个图像有多相似。为此,我使用VNGenerateImageFeaturePrintRequest并从图像生成VNFeaturePrintObservation 。然后,对于两个不同的图像,我使用它们的VNFeaturePrintObservation计算特征距离。不幸的是,iOS 16.0 和 iOS 17.0 的计算距离不同,因此未达到我的阈值。

我尝试获取如下图像的 featurePrintObservation,

let requestHandler = VNImageRequestHandler(cgImage: cgImage, options: [:])       
    let request = VNGenerateImageFeaturePrintRequest()
       do {               
          try requestHandler.perform([request])              
          self.feature = request.results?.first
        } catch {
            print("Vision error: \(error)")
       }
Run Code Online (Sandbox Code Playgroud)

然后我尝试计算两个特征之间的距离,如下所示,

try! feature1.computeDistance(&visionDistance, to: feature2)
Run Code Online (Sandbox Code Playgroud)

对于相同的两个图像,iOS 16.0 和 iOS 17.0 的输出结果“visionDistance”是不同的(例如,iOS 16.3.1 中为“ 22.66224 ”,iOS 17.0.1 中为“ 1.2178229 ”)。我想知道VNFeaturePrintObservation在 iOS 17.0 中是否发生了变化,如果发生变化,有什么方法可以通用两个 iPhone 操作系统的计算吗?

ios swift ios-vision

6
推荐指数
1
解决办法
257
查看次数

标签 统计

ios ×1

ios-vision ×1

swift ×1