I am using images of driving data (i.e., trajectory of individual users) to predict their store visits in a CNN model. My images are mostly black and white, 360 x 360 pixels. When I convert the images to numpy array, the dimensions are 360 x 360 x 4, instead of 3 for RGB. A
from PIL import Image from numpy import asarray # load the image image = Image.open(os.path.join(fig_path, 'image.png')) # convert image to numpy array data = asarray(image) print(type(data)) # summarize shape print(data.shape) # create Pillow image image2 = Image.fromarray(data) print(type(image2)) # summarize image details print(image2.mode) print(image2.size)
That could be the alpha channel. Try discarding it like this:
data = asarray(image) data = data[:,:,:3] print(type(data)) print(data.shape) # <class 'numpy.ndarray'> # (677, 586, 3)
Props to this answer.
1.4m articles
1.4m replys
5 comments
57.0k users