Question

Je voudrais essayer d'utiliser ColorMatrix , mais je suis capable de trouver des exemples qui convertissent une image en niveaux de gris. Et même alors, ils ont tendance à être présenté comme un morceau de code «nombres magiques sans explication.

Quelqu'un sait-il d'un « tutoriel » sur la façon d'utiliser ColorMatrix? Par exemple, je serais intéressé à convertir une image en niveaux de gris pour une image en couleurs, où le blanc == transparent et noir = une couleur unie, avec des pixels gris entre les deux. Pourrait ColorMatrix faire?

Était-ce utile?

La solution

Je ne sais pas tous les documents, mais comme ColorMatrix transforme une valeur de RGBAW dans une autre, vous pouvez donc définir la matrice pour prendre les valeurs RVB d'entrée et de les appliquer à la sortie valeur Alpha. (Le W est seulement là pour faire le travail de mathématiques de la matrice).

OK, I pense la matrice suivante devrait faire ce que vous voulez:

[1.0  0.0  0.0  0.333  0.0]
[0.0  1.0  0.0  0.333  0.0]
[0.0  0.0  1.0  0.333  0.0]
[0.0  0.0  0.0  0.0    0.0]
[0.0  0.0  0.0  0.0    1.0]

Cela laissera les valeurs RVB de courant inchangé, puis régler l'alpha comme R / 3 + G / 3 + B / 3, à savoir la moyenne des valeurs RVB. Modifiez les valeurs 1.0 le long de la diagonale de 0.0 pour supprimer les valeurs RVB tout à fait.

Si vous savez que l'image est un où R == échelle de gris G == B, alors vous pouvez remplacer une des 0,333 (récurrent) avec 1,0 et régler les deux autres à 0.0

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top