如何卷积检查激活的方向

时间:2019-07-10 01:22:08

标签: python scipy

我正在尝试为一个二进制矩阵创建一个过滤器,对于每个像素,如果附近两个元素中至少有一个1值,则每个像素为1 全方位:水平左侧,水平右侧,垂直顶部和垂直底部

例如:

     \/
  0 0 0 0 0
  0 0 1 0 0
> 0 1 x 1 0 <
  0 0 0 0 0
  0 0 1 0 0 
     /\ 

x将变为1,因为在这些点的周围,在左水平,水平右,垂直顶部和垂直底部都有1

例如:

0 0 0 0 0
0 0 0 0 0
0 1 x 1 0
0 0 0 0 0
0 0 1 0 0 

x将变为0,因为在垂直顶部,接下来的2点中没有1

我正在尝试通过以下内核使用scipy.signal.convolve2d

0 0 1 0 0 
0 0 1 0 0 
1 1 0 1 1
0 0 1 0 0 
0 0 1 0 0

但这没有意义,因为如果结果> = 4不必要,则在每个方向上都有点1

我实际上使用了convolve2d四次,但是我正在寻找一种优化方法。

有什么建议吗?

0 个答案:

没有答案