PIL rotate image colors (BGR -> RGB)

后端 未结 11 2184
深忆病人
深忆病人 2020-11-29 21:21

I have an image where the colors are BGR. How can I transform my PIL image to swap the B and R elements of each pixel in an efficient manner?

11条回答
  •  春和景丽
    2020-11-29 22:15

    This was my best answer. This does, by the way, work with Alpha too.

    from PIL import Image
    import numpy as np
    import sys 
    
    sub = Image.open(sys.argv[1])
    sub = sub.convert("RGBA")
    data = np.array(sub) 
    red, green, blue, alpha = data.T 
    data = np.array([blue, green, red, alpha])
    data = data.transpose()
    sub = Image.fromarray(data)
    

提交回复
热议问题