I am trying to read an image from a numpy array using PIL, by doing the following:
from PIL import Image
import numpy as np
#img is a np array with shape (3,
Defining the datatype of the numpy array to np.uint8
fixed it for me.
>>> img = np.full((256, 256), 3)
>>> Image.fromarray(img)
...
line 2753, in fromarray
raise TypeError("Cannot handle this data type: %s, %s" % typekey) from e
TypeError: Cannot handle this data type: (1, 1),
So defining the array with the proper datatype:
>>> img = np.full((256, 256), 3, dtype=np.uint8)
>>> Image.fromarray(img)
creates the Image object successfully
Or you could simply modify the existing numpy array:
img = img.astype(np.uint8)