How do I convert a numpy array to (and display) an image?

jlswint picture jlswint · Apr 17, 2010 · Viewed 481.7k times · Source

I have created an array thusly:

import numpy as np
data = np.zeros( (512,512,3), dtype=np.uint8)
data[256,256] = [255,0,0]

What I want this to do is display a single red dot in the center of a 512x512 image. (At least to begin with... I think I can figure out the rest from there)

Answer

Steve Tjoa picture Steve Tjoa · Apr 17, 2010

The following should work:

from matplotlib import pyplot as plt
plt.imshow(data, interpolation='nearest')
plt.show()

If you are using Jupyter notebook/lab, use this inline command before importing matplotlib:

%matplotlib inline