Comment convertir RGB - & gt; YUV - & gt; RVB (dans les deux sens)
Je veux une paire d'algorithmes de conversion, l'un de RVB, YUV, l'autre de l'YUV RVB, qui sont inverses les uns des autres. C'est un aller-retour de conversion, il faut laisser la valeur inchangée. (Si vous le souhaitez, remplacer YUV avec Y'UV, YUV, YCbCr, YPbPr.)
Une telle chose existe? Si oui, quel est-il?
Posté des solutions (Comment effectuer RVB->la conversion YUV en C/C++?http://www.fourcc.org/fccyvrgb.phphttp://en.wikipedia.org/wiki/YUV) ne sont inverses (les deux matrices 3x3 sont inverses), lorsque l'omission de la de serrage de [0,255]. Mais en omettant que le serrage permet des choses comme les négatifs de luminance, qui joue un joyeux chaos avec le traitement d'image en YUV espace. En conservant le serrage, la conversion non-linéaire, ce qui le rend difficile à définir un inverse.
source d'informationauteur Camille Goudeseune
Vous devez vous connecter pour publier un commentaire.
Oui, inversible transformations existent.
equasys GmbH postes inversible transformations de l'espace RVB YUV, YCbCr, et YPbPr, avec les explications de la situation de chacun est approprié pour ce que ce collier est vraiment sur, et des liens vers des références. (Comme un bon AFIN de répondre).
Pour ma propre application (images jpg, pas de tensions analogiques) YCbCr est approprié, donc j'ai écrit le code pour ces deux transformations. En effet, il y a-et-retour-de nouveau les valeurs diffèrent de moins de 1 partie en 256, pour beaucoup d'images; et l'avant-et-après des images sont visuellement identiques.
PIL de conversion d'espace de couleur YCbCr -> RVB obtient le crédit pour la mention de equasys de la page web.
D'autres réponses, qui pourrait hésitant améliorer equasys de précision et de concision:
https://code.google.com/p/imagestack/ comprend rgb_to_x et x_to_rgb
fonctions, mais je n'ai pas essayer de compiler et de les tester.
Cory Nelson répondre à des liens vers le code avec des fonctions similaires, mais il est dit que
l'inversion n'est pas possible en général, en contradiction avec equasys.
Le code source de FFmpeg, OpenCV, VLFeat, ou ImageMagick.
Une fois que vous pince, vous avez terminé. Ils deviennent d'une couleur différente et vous ne pouvez pas revenir en arrière. J'ai écrit certains de mes propre code pour convertir entre tous ceux et plus si vous aimeriez voir, mais il ne va pas aider inverse serré couleurs à leurs originaux.