Playing with PIL (and numpy) for the first time ever. I was trying to generate a black and white checkerboard image through mode=\'1\', but it doesn\'t work.
I think it is a bug. It has been reported on Github. Although some fix has been commited, it seems that it didn't resolve this problem. Everything works fine if you use mode "L" and then convert image to mode "1", so you can use it as a workaround for your problem:
from PIL import Image
import numpy as np
if __name__ == '__main__':
g = np.asarray(dtype=np.dtype('uint8'), a=[
[0, 255, 0, 255, 0, 255, 0, 255, ],
[255, 0, 255, 0, 255, 0, 255, 0, ],
[0, 255, 0, 255, 0, 255, 0, 255, ],
[255, 0, 255, 0, 255, 0, 255, 0, ],
[0, 255, 0, 255, 0, 255, 0, 255, ],
[255, 0, 255, 0, 255, 0, 255, 0, ],
[0, 255, 0, 255, 0, 255, 0, 255, ],
[255, 0, 255, 0, 255, 0, 255, 0, ],
])
print(g)
i = Image.fromarray(g, mode='L').convert('1')
i.save('checker.png')