Appia의 IT세상

파이썬[Python, Pillow] 두개의 이미지 합치기(Merge) 본문

Python/Python 기본

파이썬[Python, Pillow] 두개의 이미지 합치기(Merge)

Appia 2020. 8. 30. 07:36
반응형

파이썬[Python, Pillow] 두개의 이미지 합치기(Merge)

 

앞서 포스팅에서는 이미지의 크기를 확인하고 조정하는 방법에 대해서 살펴봤습니다. 이번 포스팅에서는 두개의 이미지를 한개로 합치는 방법에 대해서 이야기를 해보고자 합니다. 일단 이미지를 합치는 과정은 다음과 같은 과정을 통해서 이루어 집니다. 

 

두 이미지 크기 변환 -> 두이미지를 포함할 수 있는 새로운 이미지 생성 -> 각 이미지를 복사하여 붙여놓기 -> 이미지 저장

이와 같은 단계를 바탕으로 두개의 의미지를 합칠 수 있습니다. 그럼, 관련해서 예시 사진을 다음과 같은 사진들을 사용할 예정입니다. 

 

예제1
예제2

보이는 바와 같이 사진의 크기가 다르기 때문에 먼저 사진의 크기를 맞추고 나서 관련하여 합치는 방안으로 작업을 진행할 예정입니다. 그럼 이제는 코드를 한번 살펴볼 예정입니다. 

전체 코드를 보면 다음과 같습니다. 

from PIL import Image
 
image1 = Image.open('3year.PNG')
image1.show()
 
image2 = Image.open('10year.PNG')
image2.show()
image1 = image1.resize((450163))
image2 = image2.resize((450163))
image1_size = image1.size
image2_size = image2.size
new_image = Image.new('RGB',(2*image1_size[0], image1_size[1]), (250,250,250))
new_image.paste(image1,(0,0))
new_image.paste(image2,(image1_size[0],0))
new_image.save("merged_image.jpg","JPEG")
new_image.show()
cs

 

그럼 생성된 결과를 한번 살펴보겠습니다. 

합쳐친 이미지 

 

위의 두 이미지가 합쳐진 것을 볼 수 있습니다. 그럼 각 부분에 대해서 살펴보겠습니다. 

 

1) 두 이미지의 불러오기 및 사이즈 조정 하기 

image1 = Image.open('3year.PNG')
image1.show()
 
image2 = Image.open('10year.PNG')
image2.show()
image1 = image1.resize((450163))
image2 = image2.resize((450163))
cs

위에서 각 이미지를 불러오고, resize 메소드를 이용하여 각 사이즈를 동일하게 만듭니다. 

 

2) 새로운 이미지 생성 

image1_size = image1.size
image2_size = image2.size
new_image = Image.new('RGB',(2*image1_size[0], image1_size[1]), (250,250,250))
cs

위에서 불러온 이미지의 사이즈를 불러와서 가로 영역에서는 2배가 되는 사이즈를 가지는 이미지를 생성합니다. 

 

3) 각 이미지 복사하여 붙여놓기 

new_image.paste(image1,(0,0))
new_image.paste(image2,(image1_size[0],0))
cs

새로운 이미지에 먼저, 1번 이미지를 0,0 위치에 붙여 놓습니다. 그런 후에 두번째 이미지는 1번째 이미지가 끝나는 지점에 붙여 놓습니다. 즉, 첫번째 이미지의 가로 크기를 불러오시면 그 이미지가 끝나는 시점으로 보실수 있습니다. 그 위치에서부터 시작하도록 2번째 이미지를 붙여 놓기를 하시면 됩니다. 

 

4) 이미지 새로 저장 하기 

new_image.save("merged_image.jpg","JPEG")
cs

위에서 붙여 놓은 이미지를 새로 저장합니다. 

파이썬[Python, Pillow] 이미지 크기 확인 및 변경하기, 비율로 변경하기

 

위와 같은 과정으로 이미지를 합칠 수 있습니다. 이렇게 하여 두 이미지를 합치는 방법에 대해서 살펴봤습니다. 위의 링크를 통해서 이미지의 사이즈를 조정하는 방법에 대해서도 추가로 확인하시면 도움이 되실 것으로 보입니다. 감사합니다. 

반응형
Comments