Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.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 使用布尔数组屏蔽opencv bgr的最有效方法_Python_Numpy_Opencv - Fatal编程技术网

Python 使用布尔数组屏蔽opencv bgr的最有效方法

Python 使用布尔数组屏蔽opencv bgr的最有效方法,python,numpy,opencv,Python,Numpy,Opencv,我有一张用opencv加载的图像,带有img.shape=(208、117、3)。我还有一个带有mask.shape=(208,117)的布尔numpy数组。如何使img(0,0,0)中的所有像素在掩码为False的位置,否则保持像素不变?答案为 img[~mask,:]=[0,0,0] 这个,:处理其他维度,这样就不会出现不匹配的问题。让广播处理形状,嗯,这并不能解决我的问题。该解决方案具有不同大小的输出。我希望输出img的大小相同。我的掩码为false的所有像素都应该为零。粗略的伪代码:a[

我有一张用opencv加载的图像,带有
img.shape=(208、117、3)
。我还有一个带有
mask.shape=(208,117)
的布尔numpy数组。如何使
img
(0,0,0)
中的所有像素在
掩码为False的位置,否则保持像素不变?

答案为

img[~mask,:]=[0,0,0]


这个
,:
处理其他维度,这样就不会出现不匹配的问题。

让广播处理形状,嗯,这并不能解决我的问题。该解决方案具有不同大小的输出。我希望输出img的大小相同。我的掩码为false的所有像素都应该为零。粗略的伪代码:
a[mask]=(0,0,0)
大致就是您想要的。遮罩仅允许您访问相关像素,您仍然需要将其设置为something@sshashank124你的回答激励了我。见下面我的答案。谢谢你。@Mika看起来不是,但我仍然认为答案中的方法是好的