J'essaie de déterminer si une image est une simple image en noir et blanc, ou si elle a de la couleur (en utilisant Java). Si elle a de la couleur, j'ai besoin d'afficher un message d'avertissement à l'utilisateur que la couleur sera perdue.Comment déterminez-vous si une image (java.awt.Image) est en noir et blanc, sans couleur?
4
A
Répondre
8
La classe BufferedImage a une méthode int getRGB(int x, int y)
qui retourne un entier hexadécimal représentant la couleur du pixel en (x, y) (et une autre méthode qui renvoie une matrice de pixels). A partir de ce que vous pouvez obtenir les r, g, et les valeurs de b comme ceci:
int r = (0x00ff0000 & rgb) >> 16; int g = (0x0000ff00 & rgb) >> 8; int b = (0x000000ff & rgb);
et vérifier s'ils sont tous égaux pour chaque pixel de l'image. Si r == g == b pour chaque pixel, alors c'est en échelle de gris.
C'est la première chose qui me vient à l'esprit. Je ne suis pas sûr s'il y aurait une sorte de drapeau d'échelle de gris mis en lecture dans une image.
Questions connexes
- 1. Faire une image en noir et blanc?
- 2. comment transformer une image couleur existante en une image en noir et blanc?
- 3. comment identifier si l'image est en noir et blanc ou l'image en couleur?
- 4. J2ME Noir et Blanc Image Capture
- 5. Comment le noir et blanc est tansition couleur
- 6. Comment savoir si les pages PDF sont en couleur ou en noir et blanc?
- 7. convertir image couleur en noir et blanc en utilisant la bibliothèque php gd
- 8. Contexte graphique noir et blanc
- 9. Comment convertir une photo de la couleur au noir et blanc en utilisant OpenGL?
- 10. ncurses et blanc-sur-noir
- 11. Transition du noir et blanc à la couleur?
- 12. Iphone convertir l'image couleur en image 2 bits (noir et blanc)
- 13. Comment mieux sérialiser une image java.awt.Image?
- 14. Comment masquer une vue avec une image en noir et blanc?
- 15. Qu'est-ce qui serait un bon colorier noir et blanc?
- 16. Graphics2D: Dessin noir sur blanc?
- 17. .net Drawing.Graphics.FromImage() retourne image en noir en blanc
- 18. MATLAB: imprimer le pdf en noir/blanc
- 19. Calcule deux rangées en noir et blanc
- 20. Création de LaTeX Beamer Noir et Blanc
- 21. MATLAB: Tracer une ligne sur une image en noir et blanc
- 22. Faire défiler un ListView change tout de Blanc en Noir
- 23. Python (création d'un négatif de cette image en noir et blanc)
- 24. GD! La conversion d'une image png en jpeg et en faisant l'alpha par défaut blanc et non noir
- 25. Est-il possible de changer une couleur UIActivityIndicatorView en noir dans iOS?
- 26. comment inverser en partie la couleur d'un personnage? (Sa 33% à gauche est en noir et 67% à droite est blanc)
- 27. UIBarButtonItem noir au lieu de blanc
- 28. Comment afficher une matrice binaire 2D en tant que tracé noir et blanc?
- 29. Balançoire Java. Comment changer l'intensité de la couleur du noir au blanc?
- 30. Comment couper une image en utilisant un motif de couleur?
En fait, je suis seulement préoccupé par le noir et blanc pur (pas l'échelle de gris) par rapport à toute autre chose. Alors, dans ce cas, est-ce que je ne m'inquiéterais que lorsque r, g et b sont tous égaux à 255 ou tous égaux à 0? – Lukas
Oui, ça devrait être le cas. Bien que si vous faites un BufferedImage sans transparence (par exemple, TYPE_INT_RGB), alors vous pouvez simplement vérifier que le pixel == 0xFFFFFF ou 0x0 et enregistrer quelques lignes. –