반응형
4. 가상 피팅 이미지 생성
이 단계에서는 변형된 의류 이미지를 사람의 전신 이미지와 합성하여 가상 피팅 효과를 구현합니다. 이를 위해 간단한 합성 방법을 사용하여 두 이미지를 결합합니다.
1. 이미지 합성 함수 정의
사람 이미지와 변형된 의류 이미지를 합성하는 함수를 작성합니다. 이 과정에서 세그멘테이션 마스크를 사용하여 의류가 사람의 신체에 자연스럽게 결합되도록 합니다.
def composite_images(person_image, warped_clothing, segmentation_mask):
# 세그멘테이션 마스크를 사용하여 사람의 신체 부분을 추출
body_mask = (segmentation_mask > 0).astype(np.uint8) # 사람 부분을 1로 설정
# 의류 이미지 크기 조정
clothing_height, clothing_width, _ = warped_clothing.shape
# 합성할 위치 계산 (예: 어깨 위치)
shoulder_y = int(body_mask.shape[0] * 0.3) # 어깨 위치 (상대적 비율로 설정)
shoulder_x = int((body_mask.shape[1] - clothing_width) / 2) # 중앙 정렬
# 의류를 사람 이미지에 올리기 위한 위치 설정
for y in range(clothing_height):
for x in range(clothing_width):
if y + shoulder_y < body_mask.shape[0] and x + shoulder_x < body_mask.shape[1]:
if warped_clothing[y, x, :3].any(): # 의류가 있는 경우
person_image[shoulder_y + y, shoulder_x + x] = warped_clothing[y, x]
return person_image
2. 메인 함수 수정
메인 함수를 수정하여 합성 과정을 포함하도록 합니다.
def main():
person_image_path = 'input/person.jpg'
clothing_image_path = 'input/clothing.jpg'
# Load images
person_image = load_image(person_image_path)
clothing_image = load_clothing_image(clothing_image_path)
# Preprocess images
person_image_processed = preprocess_image(person_image)
clothing_image_processed = preprocess_clothing_image(clothing_image)
# Load segmentation model
model = load_segmentation_model()
# Segment person from the image
segmentation_mask = segment_person(person_image_processed, model)
# Estimate body pose
body_landmarks = estimate_body_pose(person_image_processed)
# Calculate body measurements
measurements = calculate_body_measurements(body_landmarks)
# Warp clothing to fit the body measurements
warped_clothing = warp_clothing_to_body(clothing_image_processed, measurements)
# Composite images to create the final fitting image
fitting_image = composite_images(person_image.copy(), warped_clothing, segmentation_mask)
# Display results
display_image(fitting_image, title="Fitting Image")
if __name__ == "__main__":
main()
3. 코드 실행
위 코드를 작성한 후, 터미널에서 다음 명령어로 실행합니다:
python main.py
이 코드는 변형된 의류 이미지를 사람 전신 이미지에 합성하여 가상 피팅 이미지를 생성합니다. composite_images
함수는 세그멘테이션 마스크를 사용하여 의류가 자연스럽게 사람의 신체에 결합되도록 합니다.
반응형
'생성형 AI 활용하기' 카테고리의 다른 글
마케팅에 AI를 활용하기 (0) | 2024.12.12 |
---|---|
생성형 AI를 활용한 가상 피팅 개발하기 (5) (0) | 2024.12.12 |
생성형 AI를 활용한 가상 피팅 개발하기 (3) (0) | 2024.12.12 |
생성형 AI를 활용한 가상 피팅 개발하기 (2) (1) | 2024.12.12 |
생성형 AI를 활용한 가상 피팅 개발하기 (1) (0) | 2024.12.12 |