인프런 커뮤니티 질문&답변

한상헌님의 프로필 이미지

작성한 질문수

[OpenCV] 파이썬 딥러닝 영상처리 프로젝트 - 손흥민을 찾아라!

face and eyes detect 하는 과정에서 질문이 있습니다.

20.02.27 12:55 작성

·

167

0

안녕하세요. ㅎㅎ 덕분에 많이 배워가고 있습니다.

제가 궁금한 건 haar 방식의 얼굴 detect 하는 과정에서 

얼굴을 MultiScale로 가져오고 for문 돌릴 때 

faceROI = frame_gray[y:y+h,x:x+w]
이 소스코드가 이해되지 않습니다. ㅜ
왜 [x:x+w, y:y+h] 가 아닌가요?
근데 원래 되었던 eye detect 도 제가 여쭤본 위의 코드는
detect가 되지 않더군요. 궁금합니다.

답변 1

0

노마드크리에이터님의 프로필 이미지

2020. 02. 27. 13:13

안녕하세요? 

강의가 도움이 되신다니 다행입니다.

문의하신 내용은 openCV python에서 image crop하는 명령이 그렇게 되어 있습니다. Y를 먼저쓰는 약속인 것이지요. 아래 유사답변 내용을 보시듯이 이미지를 자를때는 y1과 y2(y+h)부터 쓰라고 openCV API spec에 정의되어 있어서 거기에 따르는 겁니다. 

일반적으로 x를 먼저 쓰는데 익숙한 저희들에게는 좀 낮선 내용이지만 그렇게 정해져 있으니 따라야 할 것 같습니다.

If we consider (0,0) as top left corner of image called im with left-to-right as x direction and top-to-bottom as y direction. and we have (x1,y1) as the top-left vertex and (x2,y2) as the bottom-right vertex of a rectangle region within that image, then:

roi = im[y1:y2, x1:x2]

here is a comprehensive resource on numpy array indexing and slicing which can tell you more about things like cropping a part of an image. images would be stored as a numpy array in opencv2.

얼굴영겨을 잘못 잘라오면 눈도 잘못된 위치를 가져오겠지요.

감사합니다.