Python 如何最有效地变换RGB图像';什么颜色是基于字典的?

Python 如何最有效地变换RGB图像';什么颜色是基于字典的?,python,image,numpy,dictionary,Python,Image,Numpy,Dictionary,我有一本字典,它将每个RGB值分类为一种特定的颜色(例如,红色、橙色、黄色)。基于字典转换RGB图像(numpy数组)的最有效方法是什么 字典的结构如下: d = {(0, 0, 0): (0, 0, 0), (1, 0, 0): (0, 0, 0), (2, 0, 0): (0, 0, 0), (3, 0, 0): (0, 0, 0), (4, 0, 0): (128, 102, 64), (5, 0, 0): (255, 0, 0), (6, 0, 0): (255, 0, 0)

我有一本字典,它将每个RGB值分类为一种特定的颜色(例如,红色、橙色、黄色)。基于字典转换RGB图像(numpy数组)的最有效方法是什么

字典的结构如下:

d = {(0, 0, 0): (0, 0, 0), 
(1, 0, 0): (0, 0, 0), 
(2, 0, 0): (0, 0, 0), 
(3, 0, 0): (0, 0, 0), 
(4, 0, 0): (128, 102, 64), 
(5, 0, 0): (255, 0, 0), 
(6, 0, 0): (255, 0, 0), 
(7, 0, 0): (255, 0, 0), 
(8, 0, 0): (255, 0, 0), 
(9, 0, 0): (255, 0, 0),
...
...
...}
我正在使用for循环,但这是非常缓慢的。理想情况下,我希望使用numpy解决方案或其他更快的方法

im=Image.open(“Image.jpg”).convert(“RGB”)
w、 h=im尺寸
像素列表=列表(im.getdata())
新的像素列表=[d[p]表示像素列表中的p]
new_im=Image.new('RGB',(w,h),“白色”)
新输入数据(新像素列表)
新建_im.save(“image_save.jpg”)#保存转换后的图像

这本字典有多大?图像大小?字典不能直接与
numpy
一起使用,因为它必须逐个查找键。没有多键通话。我想把字典转换成另一种结构,至少是
items()
列表。。。这本字典有多大?图像大小?字典不能直接与
numpy
一起使用,因为它必须逐个查找键。没有多键通话。我想把字典转换成另一种结构,至少是
items()
列表。。。