Documentaciónconvolucion_2d(M, K)
Nombre
convolucion_2d - Aplica una convolucion 2D sobre una matriz.
Sinopsis
out = matrices.convolucion_2d(M, K)
Descripcion
Aplica un kernel bidimensional K sobre una matriz M y devuelve una matriz del mismo tamano.
Formula:
Es util para suavizado, deteccion de bordes, realce y procesamiento matricial estilo imagen.
Por cuestiones de eficiencia, la variante 2D tambien fue implementada como funcion interna. Ver CONVOLUCION().
Comportamiento
- Usa padding implicito con ceros fuera de los limites.
- Mantiene las dimensiones generales de la matriz de entrada.
- Retorna una
MATRIZnueva con la convolucion centrada.
Funciones API relacionadas
matrices.convolucion_1d()matrices.convolucion_2d_rapida()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| M | MATRIZ | Matriz de entrada, de tamano filas x columnas. |
| K | MATRIZ | Kernel o filtro bidimensional. |
Valor de retorno
MATRIZ - Matriz del mismo tamano general que la entrada con el resultado de la convolucion centrada.
Ejemplo
ejemplo.blox
INCLUIR "matrices.api"
INCLUIR "imagenes.api"
INCLUIR "strings.api"
FUNCION PRINCIPAL
INICIO
// --------------------------
// Test convolucion_2d
// --------------------------
MATRIZ M[][]
MATRIZ K2[3][3], C[][]
K2 = [[-1, -1, -1],
[-1, 8, -1],
[-1, -1, -1]]
IMPRIMIR("\nCargando Imagen PGM...")
M = imagenes.cargar_pgm("dog.pgm")
IMPRIMIR("\nImagen PGM cargada...")
IMPRIMIR("\n\nConvolucionando con k2")
C = matrices.convolucion_2d(M, K2)
IMPRIMIR("\n\nGuardando imagen PGM")
imagenes.guardar_pgm(C, "PROG80 - API - MATRICES - convolucion 2D cargar_pgm().pgm", 255)
FINAL