33 lines
927 B
Python
33 lines
927 B
Python
from PIL import Image
|
|
import numpy
|
|
|
|
image1_path = "/home/pi/Desktop/cal.png"
|
|
image2_path = "/home/pi/Desktop/cal2.png"
|
|
output_file = "/home/pi/Desktop/merged.png"
|
|
|
|
def merge(image1, image2, out_filename):
|
|
"""Merge black pixels from image2 into image 1
|
|
module_name = name of the module generating the image
|
|
out_filename = what name to give to the finished file
|
|
"""
|
|
|
|
im1_name, im2_name = image1_path, image2_path
|
|
im1 = Image.open(im1_name).convert('RGBA')
|
|
im2 = Image.open(im2_name).convert('RGBA')
|
|
|
|
def clear_white(img):
|
|
"""Replace all white pixels from image with transparent pixels
|
|
"""
|
|
x = numpy.asarray(img.convert('RGBA')).copy()
|
|
x[:, :, 3] = (255 * (x[:, :, :3] != 255).any(axis=2)).astype(numpy.uint8)
|
|
return Image.fromarray(x)
|
|
|
|
im2 = clear_white(im2)
|
|
im1.paste(im2, (0,0), im2)
|
|
im1.save(out_filename+'.png', 'PNG')
|
|
|
|
merge(image1_path, image2_path, output_file)
|
|
|
|
|
|
print('Done')
|