I have an image converted to a ndarray with RGBA values. Suppose it's 50 x 50 x 4.
I want to replace all the pixels with values array([255, 255, 255, 255])
for array([0, 0, 0, 0])
. So:
from numpy import *
from PIL import Image
def test(mask):
mask = array(mask)
find = array([255, 255, 255, 255])
replace = array([0, 0, 0, 0])
return putmask(mask, mask != find, replace)
mask = Image.open('test.png')
test(mask)
What am I doing wrong? That gives me a ValueError: putmask: mask and data must be the same size
. Yet if I change the arrays to numbers (find = 255, replace = 0) it works.