이미지 처리
마스크 정보로 해당 영역을 기존 이미지에 투명처리하기
wangkisa
2021. 4. 12. 11:45
PIL 로 하는 경우
from PIL import Image
# load images
img_org = Image.open('original.jpg')
img_mask = Image.open('mask.jpg')
# convert images
#img_org = img_org.convert('RGB') # or 'RGBA'
img_mask = img_mask.convert('L') # grayscale
# the same size - 이미지 사이즈 조정 필요한 경우
#img_org = img_org.resize((400,400))
#img_mask = img_mask.resize((400,400))
# add alpha channel
img_org.putalpha(img_mask)
# save as png which keeps alpha channel
img_org.save('result.png')
cv2 로 하는 경우
import cv2
# load images
img_org = cv2.imread('original.jpg')
img_mask = cv2.imread('mask.jpg')
# convert colors
#img_org = cv2.cvtColor(img_org, ???)
img_mask = cv2.cvtColor(img_mask, cv2.COLOR_BGR2GRAY)
# add alpha channel
b, g, r = cv2.split(img_org)
img_output = cv2.merge([b, g, r, img_mask], 4)
# write as png which keeps alpha channel
cv2.imwrite('result.png', img_output)