DocumentaciónCONVOLUCION(A, B)

CONVOLUCION(A,B)\texttt{CONVOLUCION}(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 MATRIZ con el resultado.

Ejemplo de uso

  • Aplicar un kernel de suavizado, deteccion de bordes o realce sobre una matriz de imagen.

Parámetros

ParámetroTipoDescripción
AMATRIZMatriz A.
BMATRIZMatriz 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```