Map a Color in a Pillow Image to Another Color NumPy

MAY 13, 2021

Here's a way to map a given color in a Pillow image (PIL.Image) to another color. This is not the fastest method and it will only replace exact matches.

In this example, we're turning all black pixels in the input image (0,0,0) with blue (0,0,255).

from PIL import Image
import numpy as np

img ='/path/to/image.png')
img[np.where((img==[0,0,0]).all(axis=2))] = [0,0,255]