首页 > 解决方案 > 有没有一种聪明的方法来简化我的逐像素值更改代码?

问题描述

# 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 函数的简单代码?

标签: numpycv2

解决方案


我认为这可能有助于替换循环(与您的循环非常相似):

indices = np.where(masked[:,:,0] != 0)
masked[indices]=im[indices]

推荐阅读