El formato PBM (Portable Bitmap) es uno de los formatos de archivo gráfico más sencillos y antiguos utilizados para almacenar imágenes monocromáticas. Forma parte del conjunto Netpbm, que también incluye PGM (Portable GrayMap) para imágenes en escala de grises y PPM (Portable PixMap) para imágenes a color. El formato PBM está diseñado para ser extremadamente fácil de leer y escribir en un programa, y para ser claro e inequívoco. No está diseñado para ser un formato independiente, sino más bien un denominador común mínimo para la conversión entre diferentes formatos de imagen.
El formato PBM admite solo imágenes en blanco y negro (1 bit). Cada píxel de la imagen se representa mediante un solo bit: 0 para blanco y 1 para negro. La sencillez del formato lo hace sencillo de manipular con herramientas básicas de edición de texto o lenguajes de programación sin la necesidad de bibliotecas especializadas de procesamiento de imágenes. Sin embargo, esta sencillez también significa que los archivos PBM pueden ser más grandes que formatos más sofisticados como JPEG o PNG, que utilizan algoritmos de compresión para reducir el tamaño del archivo.
Existen dos variaciones del formato PBM: el formato ASCII (plano), conocido como P1, y el formato binario (raw), conocido como P4. El formato ASCII es legible por humanos y se puede crear o editar con un simple editor de texto. El formato binario no es legible por humanos, pero es más eficiente en cuanto a espacio y más rápido de leer y escribir para los programas. A pesar de las diferencias en el almacenamiento, ambos formatos representan el mismo tipo de datos de imagen y se pueden convertir entre sí sin pérdida de información.
La estructura de un archivo PBM en formato ASCII comienza con un número mágico de dos bytes que identifica el tipo de archivo. Para el formato PBM ASCII, este es 'P1'. Después del número mágico, hay espacio en blanco (espacios, tabuladores, retornos de carro, saltos de línea), y luego una especificación de ancho, que es el número de columnas de la imagen, seguida de más espacio en blanco, y luego una especificación de altura, que es el número de filas de la imagen. Después de la especificación de altura, hay más espacio en blanco, y luego comienzan los datos de los píxeles.
Los datos de los píxeles en un archivo PBM ASCII consisten en una serie de '0' y '1', donde cada '0' representa un píxel blanco y cada '1' representa un píxel negro. Los píxeles se organizan en filas, con cada fila de píxeles en una nueva línea. Se permite espacio en blanco en cualquier lugar de los datos de los píxeles, excepto dentro de una secuencia de dos caracteres (no se permite entre los dos caracteres de la secuencia). El final del archivo se alcanza después de leer ancho*altura bits.
En contraste, el formato PBM binario comienza con un número mágico de 'P4' en lugar de 'P1'. Después del número mágico, el formato del archivo es el mismo que la versión ASCII hasta que comienzan los datos de los píxeles. Los datos de los píxeles binarios se empaquetan en bytes, siendo el bit más significativo (MSB) de cada byte el que representa el píxel más a la izquierda, y cada fila de píxeles se rellena según sea necesario para completar el último byte. Los bits de relleno no son significativos y sus valores se ignoran.
El formato binario es más eficiente en cuanto a espacio porque usa un byte completo para representar ocho píxeles, en comparación con el formato ASCII que usa al menos ocho bytes (un carácter por píxel más espacio en blanco). Sin embargo, el formato binario no es legible por humanos y requiere un programa que entienda el formato PBM para mostrar o editar la imagen.
Crear un archivo PBM de forma programática es relativamente sencillo. En un lenguaje de programación como C, se abriría un archivo en modo de escritura, se imprimiría el número mágico adecuado, se escribirían el ancho y la altura como números ASCII separados por espacio en blanco, y luego se imprimirían los datos de los píxeles. Para un PBM ASCII, los datos de los píxeles se pueden escribir como una serie de '0' y '1' con los saltos de línea apropiados. Para un PBM binario, los datos de los píxeles deben empaquetarse en bytes y escribirse en el archivo en modo binario.
La lectura de un archivo PBM también es sencilla. Un programa leería el número mágico para determinar el formato, saltaría el espacio en blanco, leería el ancho y la altura, saltaría más espacio en blanco, y luego leería los datos de los píxeles. Para un PBM ASCII, el programa puede leer caracteres de uno en uno e interpretarlos como valores de píxeles. Para un PBM binario, el programa debe leer bytes y desempacarlos en bits individuales para obtener los valores de los píxeles.
El formato PBM no admite ningún tipo de compresión o codificación, lo que significa que el tamaño del archivo es directamente proporcional al número de píxeles de la imagen. Esto puede resultar en archivos muy grandes para imágenes de alta resolución. Sin embargo, la sencillez del formato lo hace ideal para aprender sobre el procesamiento de imágenes, para su uso en situaciones donde la fidelidad de la imagen es más importante que el tamaño del archivo, o para su uso como formato intermedio en procesos de conversión de imágenes.
Una de las ventajas del formato PBM es su sencillez y la facilidad con la que se puede manipular. Por ejemplo, para invertir una imagen PBM (convertir todos los píxeles negros en blancos y viceversa), se pueden reemplazar todos los '0' por '1' y todos los '1' por '0' en los datos de los píxeles. Esto se puede hacer con un simple script o programa de procesamiento de texto. De manera similar, otras operaciones básicas de imagen como la rotación o el espejo se pueden implementar con algoritmos sencillos.
A pesar de su sencillez, el formato PBM no se utiliza ampliamente para el almacenamiento o intercambio general de imágenes. Esto se debe principalmente a su falta de compresión, lo que lo hace ineficiente para almacenar imágenes grandes o para su uso en Internet donde el ancho de banda puede ser una preocupación. Formatos más modernos como JPEG, PNG y GIF ofrecen varias formas de compresión y son más adecuados para estos propósitos. Sin embargo, el formato PBM aún se utiliza en algunos contextos, particularmente para gráficos sencillos en el desarrollo de software y como herramienta de enseñanza para conceptos de procesamiento de imágenes.
El conjunto Netpbm, que incluye el formato PBM, proporciona una colección de herramientas para manipular archivos PBM, PGM y PPM. Estas herramientas permiten la conversión entre los formatos Netpbm y otros formatos de imagen populares, así como operaciones básicas de procesamiento de imágenes como escalado, recorte y manipulación de color. El conjunto está diseñado para ser fácilmente extensible, con una interfaz sencilla para agregar nueva funcionalidad.
En conclusión, el formato de imagen PBM es un formato de archivo sencillo y sin adornos para almacenar imágenes bitmap monocromáticas. Su sencillez lo hace fácil de entender y manipular, lo cual puede ser ventajoso para fines educativos o para tareas sencillas de procesamiento de imágenes. Si bien no es adecuado para todas las aplicaciones debido a su falta de compresión y al resultante gran tamaño de los archivos, sigue siendo un formato útil en los contextos específicos donde sus fortalezas son más beneficiosas. El formato PBM, junto con el resto del conjunto Netpbm, continúa siendo una herramienta valiosa para quienes trabajan con procesamiento básico de imágenes y conversión de formatos.
Este convertidor funciona completamente en tu navegador. Cuando seleccionas un archivo, se lee en la memoria y se convierte al formato seleccionado. Luego puedes descargar el archivo convertido.
Las conversiones comienzan al instante, y la mayoría de los archivos se convierten en menos de un segundo. Archivos más grandes pueden tardar más.
Tus archivos nunca se suben a nuestros servidores. Se convierten en tu navegador, y el archivo convertido se descarga luego. Nosotros nunca vemos tus archivos.
Soportamos la conversión entre todos los formatos de imagen, incluyendo JPEG, PNG, GIF, WebP, SVG, BMP, TIFF y más.
Este convertidor es completamente gratis, y siempre será gratis. Debido a que funciona en tu navegador, no tenemos que pagar por servidores, así que no necesitamos cobrarte.
¡Sí! Puedes convertir tantos archivos como quieras a la vez. Sólo selecciona múltiples archivos cuando los agregues.