【发布时间】:2021-07-14 12:42:12
【问题描述】:
我有一个 2D 二进制掩码,我想通过创建尺寸为 WxW 的正方形来扩大其中的孔,其中 W 是一个参数。
假设 W = 3 我想变换这个矩阵:
[[0, 0, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]]
进入这个矩阵:
[[0, 1, 1, 1, 0],
[0, 1, 1, 1, 0],
[0, 1, 1, 1, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]]
我目前正在使用 numpy 来管理数组。我想我可以做到,但我找不到有效的方法,而且我不确定如何处理边缘情况(如果 1 在右上角,我仍然想要 WxW 正方形,而不是更小。 ..)
谢谢大家。
【问题讨论】:
-
我建议您查看 opencv 的形态函数(它们易于使用,mat 只是一个数组)或查看如何运行卷积函数。
标签: python arrays numpy mask mathematical-morphology