как свернуть активированные маршруты - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь создать фильтр для двоичной матрицы, где для каждого пикселя будет 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 для следующих 2 вокруг этой точки.

например:

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, потому что для вертикали вершины нет 1 в следующих 2 точках.

Я пытаюсь использовать 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 четыре раза, но я ищу оптимизацию.

Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...