【问题标题】:iOS objective C converting coordinates from Absolute image location to my views coordinate systemiOS 目标 C 将坐标从绝对图像位置转换为我的视图坐标系
【发布时间】:2012-08-08 22:20:20
【问题描述】:

我正在使用 CIDetector 在图片中查找人脸。

它返回的人脸坐标是图像文件中的绝对坐标(图像尺寸明显大于屏幕尺寸)。

我尝试使用 converRect:toView 命令。图像本身不是 UIView,因此该命令不起作用,而且我还有一些相互嵌入的视图,最终显示图像。

我想将图像中找到的人脸的边界转换为嵌入图像中显示在屏幕上的人脸的确切位置。

如何做到这一点?

谢谢! The image being shown on the phone - the image is scaled to fit the screen with aspect fit

【问题讨论】:

    标签: objective-c ios scaling


    【解决方案1】:

    来自 CIDetecter (CoreImage) 的坐标相对于 UIKit 坐标翻转。有很多关于 iOS 人脸检测的教程,但其中大多数要么不完整,要么把坐标弄乱了。这是正确的:http://nacho4d-nacho4d.blogspot.com/2012/03/coreimage-and-uikit-coordinates.html

    需要注意的一点:本教程使用小图像,因此生成的坐标不必缩放到图像的屏幕 (UIImageView) 表示。假设您使用的是用 iPad 相机拍摄的照片,您将不得不按照源图像的缩放量来缩放坐标(除非您在运行人脸检测例程之前减小它的大小——这可能不是一个坏主意)。您可能还需要旋转图像以获得正确的方向。

    这里的答案之一中有一个用于旋转/缩放的例程:UIImagePickerController camera preview is portrait in landscape app

    当 UIImageView 使用“aspect fit”呈现时,这个答案有一个很好的例程来查找图像的比例:How to get the size of a scaled UIImage in UIImageView?

    您需要使用比例来将 CIDetector 坐标从全尺寸图像映射到 UIImageView 中显示的缩小图像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-03
      • 2023-03-21
      • 2013-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多