gpt4 book ai didi

python - 黑色时如何将BGR图像设置为另一个图像?

转载 作者:行者123 更新时间:2023-12-02 17:39:27 25 4
gpt4 key购买 nike

我有 2 个 BGR 图像。一个主要是黑色。我希望将所有黑色像素设置为另一个图像的像素。

u_v[:,:,:] = prev_frame[:,:,:] # Only where u_v[:,:] = black/(0,0,0) 

最佳答案

我们可以创建 black 的掩码像素通过寻找 ALL沿最后一个轴的零点 (axis=-1)通过与 0 进行比较然后 ALL reduce沿着它——

mask = (u_v==0).all(axis=-1)

然后,将此掩码用于 boolean-indexingprev_frame 中选择并分配到 u_v -
u_v[mask] = prev_frame[mask]

示例运行说明

1] 输入:
In [148]: u_v
Out[148]:
array([[[0, 0, 0], # first pixel set as all zeros for testing
[2, 1, 1]],

[[1, 2, 2],
[0, 3, 1]]])

In [149]: prev_frame
Out[149]:
array([[[0, 2, 1], <== this one is to be copied over to u_v
[3, 1, 0]],

[[2, 2, 3],
[2, 0, 1]]])

2]黑色像素的掩码:
In [150]: mask = (u_v==0).all(axis=-1)

In [151]: mask
Out[151]:
array([[ True, False], # first element is True as first pix was black
[False, False]], dtype=bool)

3] bool 索引选择和分配:
In [152]: u_v[mask] = prev_frame[mask]

In [153]: u_v
Out[153]:
array([[[0, 2, 1], <=== copied from prev_frame
[2, 1, 1]],

[[1, 2, 2],
[0, 3, 1]]])

关于python - 黑色时如何将BGR图像设置为另一个图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46747196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com