我已经编写了一个函数,它返回分段映射输入的RGB颜色映射。问题是我在操作中使用了" for“循环,它真的很慢。函数如下:
def segment_map_to_rgb_color_image(color_group, segment_map):
rgb_color_image = np.zeros((len(segment_map[0]), len(segment_map[1]), 3), dtype=np.uint8)
for i in range(np.size(segment_map, axis=0)):
for j in range(np.size(segment_map, axis=1)):
idx = segment_map[i][j]
for p in range(len(color_group[0])):
rgb_color_image[i][j][p] = color_group[idx][p]
return rgb_color_image
详细信息:
color_group
是[256, 3]
NumPy数组,其中每个索引对应一个特定的RGB颜色,例如color_group[0] = [184, 212, 52]
。
segment_map
是[height, width]
NumPy数组,其中每个像素都是0到255之间的整数。
rgb_color_image
是[height, width, 3]
NumPy数组。
我在对函数进行矢量化时遇到了困难,并且当前未矢量化的函数对于实时分析来说太慢了。
有人能帮我把函数矢量化吗?感谢所有的投入。
发布于 2021-06-08 04:33:06
https://stackoverflow.com/questions/67877673
复制相似问题