Appia의 IT세상

파이썬[Python, Pillow] 이미지 워터마크(watermark) 적용하기 본문

Python/Python 기본

파이썬[Python, Pillow] 이미지 워터마크(watermark) 적용하기

Appia 2020. 9. 8. 07:37
반응형

파이썬[Python, Pillow] 이미지 워터마크(watermark) 적용하기

 

이번 포스팅은 이미지에 워터마크를 적용하는 방법에 대해서 이야기를 해보고자 합니다. 워터마크는 텍스트, 이미지, 비디오, 오디오 등의 원본 데이터에 본래 소유주만이 아는 마크(Mark)를 사람의 육안이나 귀로는 구별할 수 없게 삽입하는 기술입니다. 매번 사진에 직접 적용했었는데, 파이썬등을 통해서 쉽게 적용할 수 가 있습니다. 

예시로 사용된 사진 

그럼 여기에 워터마크를 적용하는 코드를 한번 삽입해보도록 하겠습니다. 간단히 다음과 같이 이미지를 불러오고, 이 이미지의 사이즈를 측정합니다. 그리고 마진을 잡고, 이미지에 워터마크를 적용하는 순으로 작업이 이루어집니다. 

from PIL import  Image, ImageDraw, ImageFont
 
#이미지 불러오기
image1 = Image.open('IMG_3368.JPG')
width, height = image1.size
 
#BoxBlur 사용
draw = ImageDraw.Draw(image1)
text = "Test watermark"
 
font = ImageFont.truetype('arial.ttf'30)
textwidth, textheight = draw.textsize(text, font)
 
margin = 10
= width - textwidth - margin
= height - textheight - margin
 
#텍스트 적용하기
draw.text((x, y), text, font=font)
image1.show()
 
image1.save("watermark.jpg")
cs

그럼 위의 코드를 실행한 결과를 한번 살펴보도록 하겠습니다. 

워터마크가 적용된 사진 

위에 코드에서와 같이 워터마크가 적용된 사진이 다음과 같습니다. 

= width - textwidth - margin
= height - textheight - margin
cs

다음과 같이 마진을 적용하여, 10 픽셀 만큼 공간을 두고, 우측과 하단에 마진을 두고 텍스트가 표시되도록 하였습니다. 

 

draw.text((x, y), text, font=font)
cs

위의 코드를 바탕으로 위에서 적용한 코드와 폰트를 적용하여 이미지에 적용할 수 있게 적용하였습니다. 

 

이와 같이 사진에 워터마크를 적용하는 방법에 대해서 한번 살펴봤습니다. 생각보다는 간단하고 특정 폴도에 있는 부분들에 대해서 한번에 적용할 때 도움이 됩니다. 

혹 궁금하신 저이나 문의 사항이 있의시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다. 

 

반응형
Comments