2014-10-31 3 views
0

Я наблюдал эту странную проблему с изображением PIL и scikit. Когда я делаюPIL странная ошибка после изменения размера изображения в skimage

img=io.imread(imgLoc) 
pilImg=Image.fromarray(img) 

Он работает идеально. Когда я пытаюсь изменить размер изображения с помощью метода Rescale skimage как это:

img=rescale(io.imread(imgLoc),0.5) 
pilImg=Image.fromarray(img) 

это говорит

File "/home/abc/activepython/lib/python2.7/site-packages/PIL/Image.py", line 2137, in fromarray 
raise TypeError("Cannot handle this data type") 
TypeError: Cannot handle this data type 

Из документации skimage.io.imread и skimage.transform.rescale как возвращает numpy.ndarray, которые я вручную проверяемых, а также. Кто-нибудь может понять это?

ответ

1

rescale возвращает изображение с плавающей точкой. Попытайтесь сделать pilImg=Image.fromarray(skimage.util.img_as_ubyte(img)).