0

顔を検出し、目と口を画像にマークするアプリに取り組んでいます.CIDetectorを使用して顔、目、口を検出しましたが、返される目と顔の位置は、ビューによるものではなく、元の画像に関するものです顔と目をマークする必要があるimageview、つまり、たとえば、720 * 720の画像があります。顔と目の位置が返されるのは、720 * 720のサイズに対するものです。サイズ320 * 320の画像ビューに注釈が付けられた目と顔。CIdetectorによって返された顔の位置を画像ビューの顔の位置にマッピングする方法を教えてください。

4

1 に答える 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 に答える