주어진 이미지에서 얼굴/여러 얼굴을 자르고 다른 용도로 자른 얼굴 이미지를 사용해야합니다. CoreImage에서 CIDetectorTypeFace를 사용하고 있습니다. 문제는 머리카락이 잘 리거나 아래턱이 잘리는 것처럼 감지 된 얼굴 만 들어있는 새로운 UIImage가 더 커야한다는 것입니다. 어떻게하면 initWithFrame:faceFeature.bounds
의 크기를 늘릴 수 있습니까 ?? 내가 사용하고 샘플 코드 :CoreImage를 사용하여 얼굴 잘라 내기
CIImage* image = [CIImage imageWithCGImage:staticBG.image.CGImage];
CIDetector* detector = [CIDetector detectorOfType:CIDetectorTypeFace
context:nil options:[NSDictionary dictionaryWithObject:CIDetectorAccuracyHigh forKey:CIDetectorAccuracy]];
NSArray* features = [detector featuresInImage:image];
for(CIFaceFeature* faceFeature in features)
{
UIView* faceView = [[UIView alloc] initWithFrame:faceFeature.bounds];
faceView.layer.borderWidth = 1;
faceView.layer.borderColor = [[UIColor redColor] CGColor];
[staticBG addSubview:faceView];
// cropping the face
CGImageRef imageRef = CGImageCreateWithImageInRect([staticBG.image CGImage], faceFeature.bounds);
[resultView setImage:[UIImage imageWithCGImage:imageRef]];
CGImageRelease(imageRef);
}
참고 : 내가-하지 않는 전혀 잘린 이미지와 일치 검출 된 얼굴 영역을 보여주기 위해 만든 빨간색 프레임. 어쩌면 프레임을 올바르게 표시하지는 않지만 프레임을 표시 할 필요가 없기 때문에 자른 얼굴이 필요합니다. 걱정하지 않아도됩니다.
덕분에 많이 시도해 볼 수도 있습니다 ... 그것은했다! 또한 CGRectOffset을 사용하여 좀 더 정확 해졌습니다. :) – Soumyajit
당신을 환영합니다! 해답이 문제를 해결 한 경우이를 허용 된 것으로 표시하는 것을 고려하십시오 (왼쪽의 체크 표시). – blub