so I wrote a simple python script
from PIL import Image
from pylab import *
im = array(Image.open(\'sample.jpg\'))
imshow(im)
and i get this er
What you have is close.
Looking at the imshow docs, you need to pass either an Image OR a data array.
This should work:
from PIL import Image
from pylab import *
im = Image.open('sample.jpg')
imshow(im)
Here's what imshow() is expecting:
"X may be a float array, a uint8 array or a PIL image."
There are some more details here:
http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.imshow
I know this is coming very later but I thought I should answer just in case anyone else had the same problem. I ran into the same problem and the issue was the image I loaded did not exist in the project folder.so you need to check that sample.jpg
exist and that it loads properly before using it.
if os.path.isfile('sample.jpg'): im = array(Image.open('sample.jpg'))
if im == None or im.size == 0:
print 'Image loaded is empty'
sys.exit(1)
Try this
>>> import matplotlib.pyplot as plt
>>> plt.imshow(im.reshape(im.shape[0], im.shape[1]), cmap=plt.cm.Greys)