Lecture des pixels de l'image en C ++
Comment ouvrir et lire les pixels d'une image en c++? Lire dans la forme de X, Y et pour connaître la couleur.
source d'informationauteur Ahmad Farid
Vous devez vous connecter pour publier un commentaire.
Comment ouvrir et lire les pixels d'une image en c++? Lire dans la forme de X, Y et pour connaître la couleur.
source d'informationauteur Ahmad Farid
Vous devez vous connecter pour publier un commentaire.
Si vous allez travailler avec des images, vous devriez regarder dans la bibliothèque OpenCV, il a à peu près tout ce dont vous avez besoin pour travailler avec des images.
OpenCV 2.0 est sorti il y a quelques mois et son très sympathique avec C++.
La lecture de la couleur d'un pixel à partir d'un fichier image à l'aide de la Magick++ bibliothèque
Utiliser une bibliothèque comme le Diable (http://openil.sourceforge.net/). Diable va charger les données d'image dans un tableau et vous pouvez accéder à la crue de données de pixel à l'aide d'une fonction comme ilGetPixels ().
Diable aussi a OpenGL.
Soit vous utilisez une bibliothèque existante ou d'écrire votre propre code. En général, la première approche est la meilleure depuis un format de fichier image est souvent plus complexe qu'il n'y paraît sur la surface et vous pouvez vous retrouver avec la tête en bas des images ou des couleurs incorrectes composant de commande si vous n'êtes pas prudent.
En fonction de vos besoins, vous pouvez aussi avoir besoin de prendre des possibilités du format en considération. Si le support pour une large gamme dynamique est intéressante, OpenEXR est un excellent choix, si ce n'est pas, il est probablement juste gênant puisqu'il n'est pas aussi grand soutien parmi les autres programmes, comme par exemple PNG.
Voici deux bibliothèques, je me tourne souvent vers lorsqu'il est nécessaire pour lire et écrire des images:
libpngOpenExr
Pgo sont incroyablement simple. Non compressé Pgb sont constitués d'un en-tête de, quelques informations sur le BMP, la palette de couleur (si applicable), puis les données de l'image, pixel par pixel. La rédaction de votre propre bitmap analyseur est un exercice amusant bien qu'il y est beaucoup de travail supplémentaire à gérer toutes les fonctionnalités (8 bits, compression RLE, etc).
Votre meilleur pari est d'utiliser une bibliothèque. Image Magick est une bibliothèque C qui vous permettra d'ouvrir juste au sujet de tous les formats d'image et d'accéder aux pixels. SDL_image est une autre bibliothèque qui est très facile à utiliser et SDL peut être utilisé facilement avec OpenGL.
Ce format d'image que vous devez utiliser dépend de l'application. Jpg ont de très bonne compression, mais la compression avec PERTE, ce qui signifie que vous perdre du détail. Si l'image contient du texte, ou a de grandes zones de couleur unie ou bords (comme une bande dessinée) ce qui est mauvais, vous obtiendrez quelques artefacts visibles. Pour les photos, les images Jpg sont généralement beaux. Les png sont une belle alternative, ils sont compressés, mais la compression sans perte. Jpg sera généralement plus petits que les Png, les deux seront plus petits que les Mpg.