2012-06-22 6 views
6

왼쪽 눈, 오른쪽 눈 및 입 위치를 감지해야하는 앱에서 작업하고 있습니다. self.view에 imageView가 있고 imageView에 얼굴 이미지가 들어 있습니다. 이제 눈과 입 좌표를 모두 가져오고 싶습니다. 이 2-3 샘플 코드를 봤지만 모든 코드에서 거의 동일합니다 내보기에 다른 컨트롤이 있기 때문에 내가 원하지 않는 좌표를 일치시키기 위해 내보기를 반전해야합니다. 그리고 그들이 사용하고있는 한 가지 더CIDetector를 사용한 얼굴 인식 문제

UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"image.png"]]; 

그러나 내 imageView는 이미지가 있고 이미지가 없습니다. 내가 그렇게했을 때 나는 얼굴을 찾았습니다. 얼굴의 눈과 입 좌표가 잘못되었습니다.

this sample code에서 코드를 시작했지만이 뷰에서도 Y 좌표가 반전됩니다.

아무도 내가 self.view를 반전하지 않고 UIImageView의 이미지에서 눈과 입의 위치를 ​​어떻게 감지 할 수 있습니까?

제 질문에 대한 답변이 충분하지 않은 경우 알려주십시오.

도움을 주시면 감사하겠습니다. 미리 감사드립니다.

답변

0

해결했습니다! - 얼굴 개체 (입과 눈)가 모두 포함 된 faceContainer를 갖도록 수업을 편집 한 다음이 컨테이너가 회전되어 있습니다. 분명히 이것은 매우 원유이지만 작동합니다. 링크는 http://www.jonathanlking.com/download/AppDelegate.m입니다. 그런 다음 샘플 코드의 앱 대리자를이 코드로 대체합니다.

- OLD POST -

Apple Documentation에서보세요, 그리고 this apple talk에서 이후 (42)을 밀어 넣습니다. 또한 "iOS에서 Core Image 사용"이라고 불리는 데서 얻은 것을 데모로 가지고 이야기를보아야합니다. here입니다.

+0

답장을 보내 주셔서 감사합니다. 그러나 무엇을 설명하려고하십니까? 내가 CGImage로 faceFeature 눈과 입 위치를 감지하는 방법을 알고, 내 질문은 다르다, 나는 uiimageview의 uiimage와 문제가있다. – TheTiger

+0

죄송합니다. 완전히 질문에 대한 오해! –

+0

전혀 아니요 .....--) – TheTiger

1

여기에있는 속임수는 자신의보기를 뒤집는 대신 CIDetector에서 좌표로 반환 된 점과 경계를 변환하는 것입니다. 당신이 당신의 이미지 뷰

를 초기화 한 후 CIImage 당신이 정상에 변환 할 필요가 왼쪽 된 하단에 기원을 가지고있는 UIImageView에 대한 두 번째 질문에 대해

int height = CVPixelBufferGetHeight(pixelBuffer); 
CGAffineTransform transform = CGAffineTransformMakeScale(1, -1); 
transform = CGAffineTransformTranslate(transform, 0, -1 * height); 

/* Do your face detection */ 

CGRect faceRect = CGRectApplyAffineTransform(feature.bounds, transform); 
CGPoint mouthPoint = CGPointApplyAffineTransform(feature.mouthPosition, transform); 
// Same for eyes, etc 

를 왼쪽, 당신은 단지

imageview.image = yourImage 

을 할 필요가