Documentaciónguardar_pgm(M, nombre, maxval)

guardar_pgm(M,nombre,maxval)\texttt{guardar\_pgm}(M, nombre, maxval)

Nombre

guardar_pgm - Guarda una matriz como imagen PGM binaria P5.

Sinopsis

ok = imagenes.guardar_pgm(M, nombre, maxval)

Descripcion

Escribe una MATRIZ de intensidades en un archivo PGM binario P5.

Clampea los valores de la matriz al rango [0..maxval] y soporta solo maxval <= 255, es decir, salida de 8 bits por pixel.

Comportamiento

  • Toma M.fil y M.col para determinar alto y ancho de la imagen.
  • Si maxval <= 0, usa 255 como valor por defecto.
  • Rechaza maxval > 255 porque la version de 16 bits aun no esta soportada.
  • Escribe el header P5, un comentario y luego todos los pixeles en binario.
  • Ajusta cada valor fuera de rango antes de grabarlo como byte.
  • Emite ERROR() si maxval > 255 o si la escritura de algun byte falla.

Funciones API relacionadas

  • imagenes.cargar_pgm()

Parámetros

ParámetroTipoDescripción
MMATRIZMatriz de entrada con las intensidades a guardar.
nombreSTRINGNombre o ruta del archivo PGM de salida.
maxvalNUMERICOValor maximo usado para guardar intensidades. Si es <= 0, se usa 255.

Valor de retorno

LOGICO - Retorna VERDADERO si escribio el archivo PGM P5 completo.

Ejemplo

ejemplo.blox
Solo lectura
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 = CONVOLUCION(M, K2)

    IMPRIMIR("\n\nGuardando imagen PGM")
	  imagenes.guardar_pgm(C, "PROG80 - API - MATRICES - convolucion 2D cargar_pgm().pgm", 255)


FINAL



Restringido: este ejemplo no puede ejecutarse en el Playground web porque la API requerida no está disponible en el sandbox.