我正在开发一个 ipad 应用程序,因为我需要从库或使用相机上传照片,在上传时我需要获取眼睛的位置(点)来修复我的玻璃我如何实现这一点,例如下图显示了我需要结果当我点击玻璃时,它应该固定在特定位置面对
1 回答
如果我理解你的问题(但不确定我是否理解),那么 iOS 5 中的内置人脸检测是可行的方法。它快速且非常易于使用。当在图像中检测到人脸时,您将获得左右眼和嘴巴的 CGPoints。您还将获得一个 CGRect 表示找到的人脸的边界框。从这里你应该能够定位你的眼镜图像。
那里有很多教程,但其中大多数要么不完整,要么弄乱了坐标。这是一个正确的: //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?