2017-02-12 17 views
1

Вот мой кодЯ пытаюсь преобразовать массив numpy в PIL.Image. Но он дает черные изображения. NumPy массив возвращается pyramid_gaussian методом из skimage

import numpy as np 
    from PIL import Image 
    from skimage.transform import pyramid_gaussian 
    image = Image.open('/home/sumith/Downloads/AFW/testimages/3854178896.jpg') 
    rows, cols, dim = np.asarray(image).shape 
    pyramid = tuple(pyramid_gaussian(image, downscale=2,)) 

    count = 0 
    for pyr in pyramid[0:8]: 
    row, col, dim = (np.asarray(pyr).shape) 
    count += 1 
    #io.imsave('/home/sumith/imagepyramids/'+count.__str__()+".jpg", pyr) 
    print(type(pyr)) 
    image = Image.fromarray(pyr.astype('uint8'), 'RGB') 
    image.save('/home/sumith/imagepyramids/'+count.__str__()+".jpg") 

при печати типа (пир) он показывает, как, но когда я пытаюсь преобразовать и сохранить его от PIL изображения всех изображений в пирамиде будет черным. но если я сохраню его с помощью io.imsave, он отлично работает. Мне нужно, чтобы изображение пирамиды было загружено в нейронную сеть, поэтому, если я могу его подавать как PIL.Image, тогда это будет очень полезно. Спасибо заранее! Черное изображение выглядит так: black-image

ответ

2

Проверьте значения в pyr. Возможно, это значения между 0 и `, в то время как ваше изображение RGB должно быть со значениями от 0 до 255.

+0

Большое спасибо, это была проблема для меня! – layser