Documentaciónguardar_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.filyM.colpara determinar alto y ancho de la imagen. - Si
maxval <= 0, usa255como valor por defecto. - Rechaza
maxval > 255porque 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()simaxval > 255o si la escritura de algun byte falla.
Funciones API relacionadas
imagenes.cargar_pgm()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| M | MATRIZ | Matriz de entrada con las intensidades a guardar. |
| nombre | STRING | Nombre o ruta del archivo PGM de salida. |
| maxval | NUMERICO | Valor 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
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.