OpenCV | 프로젝트 1 : step3

박나연·2020년 8월 23일
0

2020summer

목록 보기
4/8
post-thumbnail

1 이미지의 가로 세로 불러오기

from PIL import Image

i = Image.open('모델1.jpg')

width, height = i.size

print(width,height)

붙이고자 하는 이미지의 가로 세로를 불러온다.


2 자른 이미지 붙이기

위에서 구한 가로세로 길이를 입력하여 사진에 붙여주려 하였다.

그러나 붙이려는 이미지가 원본이미지보다 커서 오류가 났다.

따라서 얼굴 크기에 맞추어 옷을 붙여야 하며, 리사이징 해야했다.

테스트 하던 웹캠의 가로가 너무 긴 형태라 비교적 짧은 목도리로 시험해 보고자 했다.

그러나 목도리도 크기가 애매했는지 실패했다.


3 모델 사진에 옷 입히기

그래서 그냥 웹캠은 포기하고 모델사진에 옷을 입혀보기로 했다. 얼굴과 몸이 정면을 바라보는 전신사진으로 테스트 해보았다.

얼굴인식은 잘 되었고, 얼굴에 맞추어 옷을 리사이즈 해야했다.

x 와 y 의 값에 따른 기준값을 잘못 정의한 듯했다.

어깨와 상반신 길이를 생각보다 길게 정의해야하고, y의 시작점을 제대로 계산해야 한다.

가로와 세로를 얼굴인식 상자의 3배로 측정하였다.

웹캠을 위해 반복문으로 코딩해서, 얼굴을 인식할때 까지 사진붙이는 작업을 반복하도록 하여 사진이 여러번 붙은것이다.

3-1 핵심코드

3-2 상하의 결과

옷이 날개다

4 지금까지의 과정 합치기

이제 지금까지 했던 과정들을 합쳐 예쁘게 만들어야한다.

먼저, 사진이나 웹캠을 불러와 모델의 이미지를 선택해야한다.

둘째, 붙일 옷의 이미지를 불러와 윤곽선 인식 후 , 최소경계상자로 자른다. (1, 2개일때 경우 나누어야 함)

셋째, 얼굴인식을 통해 원본이미지에 붙인다.

마지막으로, 모든 옷을 입힌후 저장한다.

5 작성코드

상의 합성하기

profile
Data Science / Computer Vision

0개의 댓글