DocumentaciónCONVOLUCION(A, B)
Nombre
CONVOLUCION - Aplica una convolucion entre dos matrices.
Sinopsis
C = CONVOLUCION(A, B)
Descripcion
Calcula la convolucion entre dos matrices, normalmente una matriz de datos y otra usada como kernel.
En BLOX se usa especialmente en procesamiento de imagenes, filtros espaciales y operaciones matriciales locales.
Comportamiento
- Recibe dos argumentos de tipo
MATRIZ. - Interpreta la segunda matriz como kernel u operador de convolucion.
- Retorna una nueva
MATRIZcon el resultado.
Ejemplo de uso
- Aplicar un kernel de suavizado, deteccion de bordes o realce sobre una matriz de imagen.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| A | MATRIZ | Matriz A. |
| B | MATRIZ | Matriz B (kernel u otra matriz). |
Valor de retorno
MATRIZ - Matriz resultante de aplicar la convolucion.
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[][]
// Kernel K2 tipo Edge Detection
//
K2[0,0] = -1 K2[0,1] = -1 K2[0,2] = -1
K2[1,0] = -1 K2[1,1] = 8 K2[1,2] = -1
K2[2,0] = -1 K2[2,1] = -1 K2[2,2] = -1
IMPRIMIR("\nCargando Imagen PGM...")
M = imagenes.cargar_pgm("dog.pgm")
IMPRIMIR("\n\nConvolucionando con k2")
C = CONVOLUCION(M, K2)
IMPRIMIR("\n\nGuardando imagen PGM")
imagenes.guardar_pgm(C, "PROG80 - API - MATRICES - convolucion 2D cargar_pgm().pgm", 255)
FINAL```