Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Numpy阵列-替换元素_Python_Numpy_Numpy Ndarray - Fatal编程技术网

Python Numpy阵列-替换元素

Python Numpy阵列-替换元素,python,numpy,numpy-ndarray,Python,Numpy,Numpy Ndarray,我是numpy新手,我想替换3D numpy阵列中的specefic元素。我的3D numpy数组表示一个图像。阵列的形状为: (1080, 1920, 3). 数字3表示图像中每个像素的RGB 我只想知道如何将所有等于[0,0,0]的元素改为[255255] 这意味着我希望图像中的所有黑色像素都是白色。。我怎么做? 谢谢 假设您已将数组存储在数据中;这应该起作用: data[(data == 0).all(axis=2)] = [255, 255, 255] 这是由于numpy的广播规则将每

我是numpy新手,我想替换3D numpy阵列中的specefic元素。我的3D numpy数组表示一个图像。阵列的形状为: (1080, 1920, 3). 数字3表示图像中每个像素的RGB

我只想知道如何将所有等于[0,0,0]的元素改为[255255] 这意味着我希望图像中的所有黑色像素都是白色。。我怎么做?
谢谢

假设您已将数组存储在
数据中
;这应该起作用:

data[(data == 0).all(axis=2)] = [255, 255, 255]
这是由于
numpy
的广播规则将每个值与0进行比较,从而生成一个布尔数组,其中
True
值与其他地方的
False
值进行比较

下一步是只取所有单个值比较相等的子数组,使用
.all(axis=2)
-最后一个轴,即您想要的轴

然后,使用生成的布尔数组,您可以索引回
数据
,这将只提供那些等于
[0,0,0]
的子数组,并将它们设置为
[255,255,255]