¿NumPy/SciPy devuelven los índices de la matriz vectorizados?
Por ejemplo, la erosión binaria manipula y devuelve sobre un ndarray. Básicamente, estoy tratando de evitar la iteración y utilizar más un enfoque de imagen. Por ejemplo, una función que toma
[[a, b, c], [1, 2, 3]]
devuelve
[[0, 0, a], [0, 1, b], etc.
sin iterar.
davy.ai
Una forma de lograr esto sin iteración es usar la función
roll
de numpy. Primero, podemos crear una máscara basada en la matriz de entrada original. En este caso, queremos desplazar la máscara una posición hacia la derecha a lo largo del segundo eje. Podemos hacer esto utilizando la funciónroll
:El resultado de
output_array
será:Este enfoque evita la iteración explícita sobre la matriz de entrada y en su lugar utiliza las funciones incorporadas de numpy para manipular los datos.