파이썬 Pillow 이미지 처리 (픽셀값 구하기, 누끼 이미지, 이미지 붙이기)
- Python
- 2019. 7. 29. 21:46
파이썬 Pillow 이미지 처리 (픽셀 색상 구하기, 누끼 이미지 만들기, 로고 이미지 붙이기)
파이썬 이미지 처리 라이브러리인 Pillow는 image와 관련된 다양한 처리를 할 수 있습니다.
그 중에서 특정 픽셀의 색상 구하기, 누끼이미지 만들기, 이미지에 이미지를 붙이기(로고 붙이기)를 해보도록 하겠습니다.
python Pillow 설치
pip install pillow
특정 픽셀의 r,g,b 색상 구하기
from PIL import Image
# 이미지 객체로 생성
im = Image.open(file_)
# RGB 모드로 변경
rgb_im = im.convert('RGB')
# 지정한 좌표(1, 400)의 색상을 r,g,b 변수에 넣음
r, g, b = rgb_im.getpixel((1, 400))
print(r)
print(g)
print(b)
누끼 이미지 만들기
이 방법은 r,g,b 값이 흰색일 경우 투명한 픽셀로 변경하여 누끼 이미지로 만드는 방법입니다.
완전한 흰색이 아닌 경우 255 숫자의 범위를 낮추어서 범위를 조정한 후 사용할 수도 있습니다.
누끼컷의 경우 png 만 가능하므로, 저장은 png로 해주셔야 합니다.
from PIL import Image
# 누끼컷으로 변경할 이미지
img = Image.open('./iwantnuki.png')
img = img.convert("RGBA")
datas = img.getdata()
newData = []
for item in datas:
if item[0] == 255 and item[1] == 255 and item[2] == 255:
newData.append((255, 255, 255, 0))
else:
newData.append(item)
img.putdata(newData)
# png 확장자로 저장
img.save("./TransparentImage.png", "PNG")
이미지 위에 로고 붙이기
pillow로 이미지 위에 이미지를 붙일 수 있습니다.
로고와 같은 이미지를 일괄적으로 붙이고 싶을 때 사용할 수 있습니다.
from PIL import Image, ImageDraw
template = Image.open("/home/template.jpg")
rgb_im = template.convert('RGB')
logo = Image.open("/home/logo.jpg")
# template 이미지 객체 0,0 위치에 logo 이미지를 붙여줍니다.
rgb_im.paste(logo, (0, 0))
# 붙인 이미지를 새로운 이름으로 저장합니다.
rgb_im.save("/home/pasted_logo.jpg", "JPEG")
pillow 관련글