2017-12-22 22 views
0

現在、私はPILイメージに変換して保存するnumpy配列またはRBGタプルを持っています。現在、私は次のことをしています:final = Image.fromarray(im_arr, mode='RGB')。ここではim_arrは、(R, G, B)という形式のタプルの列挙型配列です。以下のように画像を作成すると、タプルを別々に保つことになります。タプルからPILイメージへのナンプィ配列

enter image description here

答えて

0

、これらの機能を使用してみてください:

import numpy 
import Image 

def PIL2array(img): 
    return numpy.array(img.getdata(), 
        numpy.uint8).reshape(img.size[1], img.size[0], 3) 

def array2PIL(arr, size): 
    mode = 'RGBA' 
    arr = arr.reshape(arr.shape[0]*arr.shape[1], arr.shape[2]) 
    if len(arr[0]) == 3: 
     arr = numpy.c_[arr, 255*numpy.ones((len(arr),1), numpy.uint8)] 
    return Image.frombuffer(mode, size, arr.tostring(), 'raw', mode, 0, 1) 

def main(): 
    img = loadImage('foo.jpg') 
    arr = PIL2array(img) 
    img2 = array2PIL(arr, img.size) 
    img2.save('out.jpg') 

if __name__ == '__main__': 
    main() 

クレジット:http://code.activestate.com/recipes/577591-conversion-of-pil-image-and-numpy-array/

追加情報:http://www.imagexd.org/tutorial/lessons/0_images_are_arrays.html

それが動作しない場合は、多分あなたの配列がありません。適切な形状。

関連する問題