如何将像素值(R、G、B)转换为整数值?

2024-10-02 10:27:39 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,我得到像素值

from PIL import Image
im = Image.open("Lenna.png")
cordinate = x, y = 150, 59
# using getpixel method 
print (im.getpixel(cordinate));

输出:(206, 92, 94)

如何将(206, 92, 94)转换为一个整数值(在Python中)

就像Java中的函数^{}一样,将其转换回(整数值-->;RGB-->;setRGB值转换为图像)


Tags: fromimageimportgtpilpng像素open
2条回答

如果不想使用struct模块,可以自己执行计算:

def rgb2int(rgb): return (rgb[0]<<16)+(rgb[1]<<8)+rgb[2]
def int2rgb(N):   return (N>>16,(N>>8)%256,N%256)

rgb = (206,92,94)

print(rgb2int(rgb))      # 13524062
print(int2rgb(13524062)) # (206, 92, 94)

您可以使用struct

import struct
str='aabbcc'
struct.unpack('BBB',str.decode('hex'))
//(170, 187, 204)

rgb = (50,100,150)
struct.pack('BBB',*rgb).encode('hex')
//'326496'

相关问题 更多 >

    热门问题