Python Image + Masking Image 합성
2021. 8. 6. 17:10ㆍIT
원본에 마스킹 이미지(Gray Scale)을 합성을 하는데 검은색 마스킹은 원본 색상을 그대로 흰색 부분은 원본을 옅어지도록 마스킹을 만들어 봤다. 새로운 개인 프로젝트를 하면서 만들어본 간단한 이미지 합성 테스트 프로그램이다.
from PIL import Image
import cv2
#Original Image
org_img = Image.open('lady2.jpg')
org_PixelMap = org_img.load()
#Mask Image
mask_img = Image.open('xxx.jpg')
mask_PixelMap = mask_img.load()
#New Image
img = Image.new(org_img.mode, org_img.size)
pixelsNew = img.load()
for j in range(org_img.size[1]):
for i in range(org_img.size[0]):
x,y,z = mask_PixelMap[i,j]
if x == 0 and y==0 and z==0:
pixelsNew[i,j] = org_PixelMap[i,j]
elif x==255 and y==255 and z==255:
pixelsNew[i,j] = (255,255,255,255)
else:
a,b,c = org_PixelMap[i,j]
rgba = int(a+x)
if rgba > 255: rgba = 255
rgbb = int(b+y)
if rgbb > 255: rgbb = 255
rgbc = int(c+z)
if rgbc > 255: rgbc = 255
pixelsNew[i,j] = (rgba, rgbb, rgbc, 255)
org_img.close()
mask_img.close()
img.save("result.jpg")
img.close()
img1=cv2.imread('lady2.jpg')
img2=cv2.imread('xxx.jpg')
img3=cv2.imread('result.jpg')
print(img3.shape)
cv2.imshow("org", img1)
cv2.imshow("mask", img2)
cv2.imshow("result", img3)
cv2.waitKey(0)
반응형
'IT' 카테고리의 다른 글
Python Curve Editor (0) | 2021.08.06 |
---|---|
Python Image Crop Code (0) | 2021.08.06 |
Python Making Image 만들기 (0) | 2021.08.06 |
Yocto Project Quick Build / 소스받고 빌드해보기 (0) | 2021.06.22 |
Yocto Project Quick Build / docker를 설치해보자 (0) | 2021.06.19 |