我一直在使用嵌套的 for 循环将 RGB 图像转换为十六进制值的图像数组,但它对于大图像来说太慢了。有谁知道可以帮助我从 RGB 切换回 HEX 的快速方法和/或库?
编辑: @ragingSloth
这是我想出的,但对于我需要的来说太慢了:
def rgb_to_hex(array):
(x, y, z) = array.shape
for v in range(0, x):
for u in range(0, y):
array[v, u] = int('%02x%02x%02x' % (array[v, u, 0], array[v, u, 1], array[v, u, 2]))
最佳答案
利用beaker的思路,你也可以去掉双for循环:
def tohex(array):
array = np.asarray(array, dtype='uint32')
return ((array[:, :, 0]<<16) + (array[:, :, 1]<<8) + array[:, :, 2])
关于python - Numpy 图像数组 : How to efficiently switch from RGB to Hex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26226354/