我正在开发一个检测面部并在图像上标记眼睛和嘴巴的应用程序。我已经使用 CIDetector 检测到了面部、眼睛和嘴巴,但是它返回的眼睛和面部的位置是相对于原始图像的,而不是根据我必须在其上标记面部和眼睛的图像视图,例如,我有一个 720 * 720 的图像,它返回的面部和眼睛的位置是相对于 720 * 720 的大小。但问题是..我必须显示在大小为 320 * 320 的图像视图上注释的眼睛和面部。请告诉我如何将 CIdetector 返回的面部位置映射到图像视图上的面部位置。
问问题
533 次
1 回答
1
您可以通过考虑 imageview size to image size ratio来解决这个问题。
以下是非常简单的事情,可用于解决您的问题。
//'returnedPoint' is the position of eye returned by CIDetector
CGFloat ratio = 320/ 720.0;
//It is like, CGFloat ratio = yourImageView.frame.size.width/ yourImage.size.width;
CGPoint pointOnImageView = CGPointMake((ratio * returnedPoint.x), (ratio * returnedPoint.y));
于 2013-05-04T09:30:16.430 回答