【问题标题】:Most efficient way to mask an opencv bgr with a boolean array用布尔数组屏蔽opencv bgr的最有效方法
【发布时间】:2020-01-04 17:28:34
【问题描述】:

我有一张用img.shape = (208, 117, 3) 加载的opencv 图像。我还有一个带有mask.shape = (208, 117) 的布尔numpy 数组。如何让img (0,0,0) 中的所有像素在mask 为False 的地方,否则保持原样?

【问题讨论】:

  • 嗯,这并没有为我解决问题。该解决方案具有不同大小的输出。我希望输出 img 的大小相同。只是我的蒙版错误的所有像素都应该归零。
  • 粗略的伪代码:a[mask] = (0, 0, 0) 大致就是你想要的。蒙版只允许您访问相关像素,您仍然需要将它们设置为某些东西
  • @sshashank124 你的回答启发了我。请看下面我的回答。谢谢。
  • @Micka 看起来不像,stackoverflow.com/questions/41829511/… 但我仍然认为答案中的方法很好

标签: python numpy opencv


【解决方案1】:

答案是

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

,: 负责处理其他维度,因此您不会遇到不匹配问题。

【讨论】:

    猜你喜欢
    • 2021-05-06
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 2013-02-11
    • 2023-01-11
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    相关资源
    最近更新 更多