【问题标题】:ios Vision VNImageRequestHandler orientation issueios Vision VNImageRequestHandler 方向问题
【发布时间】:2017-11-25 02:13:43
【问题描述】:

我正在尝试使用 VNImageRequestHandler (iOS Vision) 通过摄像头检测人脸。 当我在横向模式下通过相机指向照片时,它会检测到面部但方向相反。

  let detectFaceRequestHandler = VNImageRequestHandler(cvPixelBuffer: pixelBuffer, options: [:])

【问题讨论】:

    标签: ios swift face-recognition ios11 ios-vision


    【解决方案1】:

    将图像转换为 CIImage 并应用下图所示的方向属性并将其传递给 imagerequest 处理程序

    let orientation = CGImagePropertyOrientation(uiImage.imageOrientation)
       let imageElement = ciImage.applyingOrientation(Int32(orientation.rawValue))
    
            // Show the image in the UI.
            originalImage.image = uiImage
    

    还要检查 https://github.com/gunapandianraj/iOS-Vision 代码,用于将 Vision rect 转换为 UIKit rect

    【讨论】:

    • 在尝试使用上面的代码时,当我尝试在第一行声明变量orientation 时,我得到Use of unresolved identifier 'uiImage'。是否需要导入特定的库才能使其正常工作?
    • 抱歉命名约定。 uiImage 是 UIImage 类型的局部变量,它将分配给我从照片库中挑选的图像或拍照或下载的图像...
    • 什么是imageElement?以及在哪里使用?
    【解决方案2】:

    您是否尝试过使用 VNImageRequestHandler orientation 属性?

    let imageRequestHandler = VNImageRequestHandler(cvPixelBuffer: pixelBuffer, orientation: .right, options: [:])
    

    在纵向模式下从后置摄像头读取视频输入时,我必须将其设置为 .right

    【讨论】:

      猜你喜欢
      • 2012-12-30
      • 2014-11-28
      • 2013-05-24
      • 2012-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多