from PIL import Image import numpy class RGBAPacker(object): def process(self, output_file, inputs=None): # -- we assume "inputs" is a dictionary of image files, with the keys corresponding to the channels they want packing in. inputs = inputs or dict() r = Image.open(inputs.get('mask1')).convert('L') g = Image.open(inputs.get('mask2')).convert('L') # -- our procedurally generated blue channel is the multiplied result of the first and second masks. # -- This is a super simple operation, but you can make this as complex as you like. b = numpy.asarray(r) * numpy.asarray(g) b = Image.fromarray(b) output = Image.merge('RGB', r, g, b) output.save(output_file)
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter