Сначала необходимо преобразовать изображение в оттенки серого, поскольку PIL открывает его как RGB.Затем инвертируйте значения 0 и 255.Затем вы можете преобразовать ненулевые значения в 1. Вот один из способов:
from PIL import Image
import numpy as np
img = Image.open('bw_circle.png').convert('L')
np_img = np.array(img)
np_img = ~np_img # invert B&W
np_img[np_img > 0] = 1
И альтернативный способ использования PIL для инверсии:
from PIL import Image, ImageOps
import numpy as np
img = Image.open('bw_circle.png').convert('L')
img_inverted = ImageOps.invert(img)
np_img = np.array(img_inverted)
np_img[np_img > 0] = 1