Le format PBM (Portable Bitmap) est l'un des formats de fichiers graphiques les plus simples et les plus anciens utilisés pour stocker des images monochromes. Il fait partie de la suite Netpbm, qui comprend également PGM (Portable GrayMap) pour les images en niveaux de gris et PPM (Portable PixMap) pour les images en couleur. Le format PBM est conçu pour être extrêmement facile à lire et à écrire dans un programme, et pour être clair et sans ambiguïté. Il n'est pas destiné à être un format autonome, mais plutôt un plus petit dénominateur commun pour la conversion entre différents formats d'image.
Le format PBM ne prend en charge que les images en noir et blanc (1 bit). Chaque pixel de l'image est représenté par un seul bit : 0 pour le blanc et 1 pour le noir. La simplicité du format le rend facile à manipuler à l'aide d'outils d'édition de texte de base ou de langages de programmation sans avoir besoin de bibliothèques spécialisées de traitement d'image. Cependant, cette simplicité signifie également que les fichiers PBM peuvent être plus volumineux que des formats plus sophistiqués comme JPEG ou PNG, qui utilisent des algorithmes de compression pour réduire la taille des fichiers.
Il existe deux variantes du format PBM : le format ASCII (texte brut), connu sous le nom de P1, et le format binaire (brut), connu sous le nom de P4. Le format ASCII est lisible par l'homme et peut être créé ou modifié avec un simple éditeur de texte. Le format binaire n'est pas lisible par l'homme, mais il est plus économe en espace et plus rapide à lire et à écrire pour les programmes. Malgré les différences de stockage, les deux formats représentent le même type de données d'image et peuvent être convertis l'un en l'autre sans perte d'informations.
La structure d'un fichier PBM au format ASCII commence par un nombre magique de deux octets qui identifie le type de fichier. Pour le format ASCII PBM, il s'agit de « P1 ». Après le nombre magique, il y a un espace blanc (espaces, TAB, CR, LF), puis une spécification de largeur, qui est le nombre de colonnes dans l'image, suivie d'un autre espace blanc, puis une spécification de hauteur, qui est le nombre de lignes dans l'image. Après la spécification de hauteur, il y a un autre espace blanc, puis les données de pixel commencent.
Les données de pixel dans un fichier PBM ASCII se composent d'une série de « 0 » et de « 1 », chaque « 0 » représentant un pixel blanc et chaque « 1 » représentant un pixel noir. Les pixels sont disposés en lignes, chaque ligne de pixels étant sur une nouvelle ligne. Les espaces blancs sont autorisés n'importe où dans les données de pixel, sauf dans une séquence de deux caractères (ils ne sont pas autorisés entre les deux caractères de la séquence). La fin du fichier est atteinte après la lecture de largeur*hauteur bits.
En revanche, le format PBM binaire commence par un nombre magique de « P4 » au lieu de « P1 ». Après le nombre magique, le format du fichier est le même que la version ASCII jusqu'à ce que les données de pixel commencent. Les données de pixel binaires sont compressées en octets, le bit le plus significatif (MSB) de chaque octet représentant le pixel le plus à gauche, et chaque ligne de pixels est complétée si nécessaire pour remplir le dernier octet. Les bits de remplissage ne sont pas significatifs et leurs valeurs sont ignorées.
Le format binaire est plus économe en espace car il utilise un octet complet pour représenter huit pixels, contrairement au format ASCII qui utilise au moins huit octets (un caractère par pixel plus un espace blanc). Cependant, le format binaire n'est pas lisible par l'homme et nécessite un programme qui comprend le format PBM pour afficher ou modifier l'image.
Créer un fichier PBM par programmation est relativement simple. Dans un langage de programmation comme C, on ouvrirait un fichier en mode écriture, on sortirait le nombre magique approprié, on écrirait la largeur et la hauteur sous forme de nombres ASCII séparés par des espaces blancs, puis on sortirait les données de pixel. Pour un PBM ASCII, les données de pixel peuvent être écrites sous forme d'une série de « 0 » et de « 1 » avec des sauts de ligne appropriés. Pour un PBM binaire, les données de pixel doivent être compressées en octets et écrites dans le fichier en mode binaire.
Lire un fichier PBM est également simple. Un programme lirait le nombre magique pour déterminer le format, ignorerait les espaces blancs, lirait la largeur et la hauteur, ignorerait d'autres espaces blancs, puis lirait les données de pixel. Pour un PBM ASCII, le programme peut lire les caractères un par un et les interpréter comme des valeurs de pixel. Pour un PBM binaire, le programme doit lire les octets et les décompresser en bits individuels pour obtenir les valeurs de pixel.
Le format PBM ne prend en charge aucune forme de compression ou d'encodage, ce qui signifie que la taille du fichier est directement proportionnelle au nombre de pixels dans l'image. Cela peut entraîner des fichiers très volumineux pour les images haute résolution. Cependant, la simplicité du format le rend idéal pour l'apprentissage du traitement d'image, pour une utilisation dans des situations où la fidélité de l'image est plus importante que la taille du fichier, ou pour une utilisation comme format intermédiaire dans les processus de conversion d'image.
L'un des avantages du format PBM est sa simplicité et la facilité avec laquelle il peut être manipulé. Par exemple, pour inverser une image PBM (transformer tous les pixels noirs en blanc et vice versa), on peut simplement remplacer tous les « 0 » par des « 1 » et tous les « 1 » par des « 0 » dans les données de pixel. Cela peut être fait avec un simple script ou programme de traitement de texte. De même, d'autres opérations d'image de base comme la rotation ou la mise en miroir peuvent être implémentées avec des algorithmes simples.
Malgré sa simplicité, le format PBM n'est pas largement utilisé pour le stockage ou l'échange d'images générales. Cela est principalement dû à son manque de compression, ce qui le rend inefficace pour stocker de grandes images ou pour une utilisation sur Internet où la bande passante peut être un problème. Des formats plus modernes comme JPEG, PNG et GIF offrent diverses formes de compression et sont mieux adaptés à ces fins. Cependant, le format PBM est toujours utilisé dans certains contextes, notamment pour les graphiques simples dans le développement de logiciels et comme outil pédagogique pour les concepts de traitement d'image.
La suite Netpbm, qui comprend le format PBM, fournit une collection d'outils pour manipuler les fichiers PBM, PGM et PPM. Ces outils permettent la conversion entre les formats Netpbm et d'autres formats d'image courants, ainsi que des opérations de traitement d'image de base comme la mise à l'échelle, le recadrage et la manipulation des couleurs. La suite est conçue pour être facilement extensible, avec une interface simple pour ajouter de nouvelles fonctionnalités.
En conclusion, le format d'image PBM est un format de fichier simple et sans fioritures pour stocker des images bitmap monochromes. Sa simplicité le rend facile à comprendre et à manipuler, ce qui peut être avantageux à des fins éducatives ou pour des tâches simples de traitement d'image. Bien qu'il ne convienne pas à toutes les applications en raison de son manque de compression et de la taille des fichiers qui en résulte, il reste un format utile dans les contextes spécifiques où ses atouts sont les plus bénéfiques. Le format PBM, ainsi que le reste de la suite Netpbm, continue d'être un outil précieux pour ceux qui travaillent avec le traitement d'image de base et la conversion de format.
Ce convertisseur fonctionne entièrement dans votre navigateur. Lorsque vous sélectionnez un fichier, il est lu en mémoire et converti dans le format sélectionné. Vous pouvez ensuite télécharger le fichier converti.
Les conversions commencent instantanément, et la plupart des fichiers sont convertis en moins d'une seconde. Les fichiers plus volumineux peuvent prendre plus de temps.
Vos fichiers ne sont jamais téléversés vers nos serveurs. Ils sont convertis dans votre navigateur, puis le fichier converti est téléchargé. Nous ne voyons jamais vos fichiers.
Nous prenons en charge la conversion entre tous les formats d'image, y compris JPEG, PNG, GIF, WebP, SVG, BMP, TIFF, et plus encore.
Ce convertisseur est complètement gratuit, et le restera toujours. Parce qu'il fonctionne dans votre navigateur, nous n'avons pas besoin de payer pour des serveurs, donc nous n'avons pas besoin de vous faire payer.
Oui ! Vous pouvez convertir autant de fichiers que vous voulez simultanément. Il suffit de sélectionner plusieurs fichiers lorsque vous les ajoutez.