0

실패했습니다아이폰 OS 얼굴 인식은이 같은 얼굴 검출을위한 코어 이미지를 사용하고 불완전 얼굴

CIImage* image = [CIImage imageWithCGImage:aImage.CGImage]; 

//create Facedetector 
NSDictionary *opts = [NSDictionary dictionaryWithObject:CIDetectorAccuracyHigh 
                forKey:CIDetectorAccuracy]; 
CIDetector* detector = [CIDetector detectorOfType:CIDetectorTypeFace 
              context:nil 
              options:opts]; 

//Pull out the features of the face and loop through them 
NSArray* features = [detector featuresInImage:image]; 

하지만 내가 완전히 얼굴로 사진을 사용할 때, 제대로 얼굴을 감지 할 수 있음을 찾았지만, 불완전한 얼굴을 사용하면 다음 스냅 샷과 마찬가지로 실패합니다. enter image description here

내 코드에 어떤 문제가 있습니까? CIDetector는 완전히 얼굴에서만 잘 작동합니까?

[업데이트] here가 난 단지 감지 할 수있는, 내 코드 왼쪽은 전체 얼굴이 아닌 경우 때때로

+0

featuresInImage : options 대신 featuresInImage : 여기에 제시된 방향 정보가 필요합니다. https://developer.apple.com/library/prerelease/ios/documentation/CoreImage/Reference/CIDetector_Ref/index.html#//apple_ref/ doc/constant_group/Detector_Types – Jageen

+0

예제 이미지를 사용하면 얼굴을 감지 할 수 없습니까? 이미지를 사용하여 얼마나 많은 얼굴을 감지 했습니까? – gabbler

+0

@ gabbler 사실 사진에 얼굴이 하나 밖에 없으며 바로 가기에 두 장의 사진이 있습니다. – HamGuy

답변

0

가 그것을 감지 할 수없는, 당신은 아무것도 할 수 있다고 생각하지 않습니다 그것에 대해.

그러나 이미지에 흰색 경계선을 추가하면 감지 할 수 있습니다 (아래 그림 참조). 또는 openCV로 다이빙하여 openCV 라이브러리에서 감지 할 수 있는지 확인하십시오. 게시물의 이미지에는 두 개의 얼굴이 있습니다. 다운로드하고 시도해 보면 대부분 배경색과 같은 색 인 오른쪽 얼굴 주위에 흰색 테두리가 있기 때문에 찾을 수 있습니다.

face detection result

은 내가 한 일은 이미지 뷰의 프레임보다 약간 더 큰 프레임 컨테이너보기의 하위 뷰 같은 이미지 뷰를 추가했다. 그런 다음 컨테이너보기의 스냅 샷을 작성했습니다. 사진은 스냅 샷 이미지의 감지 결과를 반영합니다.

+0

즉, 올바른 그림을 직접 감지 할 수 없다는 뜻입니까? – HamGuy

+0

예, 그렇게 생각합니다. – gabbler