有没有一种聪明的方法可以将我的脏代码转换为将特定颜色更改为另一种颜色?

Is there a smart way to convert my dirty code changing a specific color to another?

#convert pixels's color from 0,255,255 to 0,0,0
h = mask.shape[0] 
w = mask.shape[1]
for py in range(0,h):
    for px in range(0,w):
        if mask[py][px][0] ==0 and mask[py][px][1] == 255 and mask[py][px][2] == 255:
            for i in range(3):
                mask[py][px][i] = 0
# masking
masked = mask.copy()
for py in range(0,h):
    for px in range(0,w):
        if masked[py][px][0] != 0:
            masked[py][px] = im[py][px]
masked = cv2.cvtColor(masked, cv2.COLOR_RGB2BGR)

有什么奇特的方法可以将我的脏代码转换为带有 cv2 或 numpy 函数的简单代码吗?

你可以简单地做:

color_old = (0,255,255)
color_new = (0,0,0)

img[(img==color_old).all(-1)] = color_new