我得到了一个 rgb 图像(h 和 w 不是常数),我想将特定范围(rgb 范围)内的所有像素都涂成绿色。我得到了大部分代码的工作,我挣扎的事情:假设我得到以下图像:
arr = np.zeros((4,4,3))
arr[0,0] = [2,3,4]
arr[1, 1] = [1, 2, 3]
让我们假设条件是满足以下规则的所有像素:
t = np.all((arr >= [1,2,3])&(arr <= [1,4,4]),axis = 2)
print(t)
[[False False False False]
[False True False False]
[False False False False]
[False False False False]]
t 中的每个值代表 arr 中的一个像素,如果它是真的,我想将 arr 中的相应像素更改为 [10,10,10]。意思是我希望输出是:
[[[2. 3. 4.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[10. 10. 10.]
[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]]
我要求一种麻木的方式来做到这一点。
蝴蝶刀刀
相关分类