放大二维阵列遮罩中的孔

2024-09-26 22:11:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个二维二元掩模,我想通过创建尺寸为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正方形,而不是更小的…)

谢谢大家


Tags: 方法numpy参数尺寸情况矩阵边缘掩模
1条回答
网友
1楼 · 发布于 2024-09-26 22:11:28

如果你可以考虑opencv,你可以使用^ a1}

import cv2
import numpy as np

img = cv2.imread('j.png',0)
kernel = np.ones((3, 3), np.uint8)
dilation = cv2.dilate(img, kernel, iterations=1)

也可以考虑scipy's version


对于纯numpy,您必须使用thisones内核,然后进行阈值处理

相关问题 更多 >

    热门问题