为了账号安全,请及时绑定邮箱和手机立即绑定

如何用另一个数组的相同索引中的值替换一个数组中的值?

如何用另一个数组的相同索引中的值替换一个数组中的值?

aluckdog 2021-11-02 09:50:03
我有两个代表两个图像的 3D numpy 数组。每个数组的形状是 (1080, 1920, 3)。数字 3 代表图像中每个像素的 RGB 值。我的目标是将第一个数组中的每个非黑色像素替换为另一个数组中“平行”像素(在同一索引中)的值。如何仅使用 numpy 方法来做到这一点?
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超8个赞

使用带有 True/False 值的掩码


# All pixels should be normalized 0..1 or 0..254

first_img = np.random.rand(1920,1080,3)

second_img = np.random.rand(1920,1080,3)


eps = 0.01  # Black pixel threshold

mask = first_img.sum(axis=2) > eps


for i in range(first_img.shape[2]):

    first_img[:,:,i] = (first_img[:, :, i] * mask) + ((1 - mask) * second_img[:, :, i])


查看完整回答
反对 回复 2021-11-02
  • 1 回答
  • 0 关注
  • 197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信