Explications des différents formats d'images?

Répondre
Partager Rechercher
Citation :
Provient du message de Izack
Tu peux télécharger Photoshop sur telecharger.com (...)
Une version démo qui ne permet ni la sauvegarde ni l'impression, bonne chance pour changer l'extension d'une image dans ces conditions.
Rhooo, mais c'est magique ça... le png gère un canal alpha ? J'ignorais...
Plus de souci de couleur de fond quand on fait un contour avec de l'antialiasing ? Joie !
Et que découvré-je à l'instant même ? il semble que mon chouchou (Pov-Ray, on ne rigole pas siouplé) gère le .png comme format de sortie. Je me prends à espérer qu'il génère avec une transparence convenable les pixels appartenant au "fond" de l'image. Mais j'en serais surpris tout de même. Et même si c'était le cas, il y aurait certainement quelques soucis (comment gérer une surface transparente avec la couleur de fond en arrière-plan ?).
Faut absolument que je fasse quelques tests

A tout hasard... dans le cas d'images 3D générées par ray-tracing, on est capable de faire des rendus de la même scène avec différentes couleurs de fond. Donc j'imagine (mais je me trompe peut-être) qu'en faisant un rendu avec fond noir et un rendu avec fond blanc, on devrait, pour chaque pixel (principalement pour les pixels du contour de l'objet), pouvoir déterminer la valeur de l'alpha, et des 3 canaux RGB. Quelqu'un sait-il s'il existe un programme qui fasse ça ?
Citation :
Provient du message de Izack
Je ne sais pas s'il existe un logiciel capable de transcrire en GIF sous Linux. :/
Gimp

Citation :
File formats supported include gif, jpg, png, xpm, tiff, tga, mpeg, ps, pdf, pcx, bmp, and many others.
Non seulement c'est du GNU, mais en plus c'est au départ pour linux, la version Win32 est arrivée après

c'est par ici que ça se passe

Citation :
Provient du message de leZilou
Donc j'imagine (mais je me trompe peut-être) qu'en faisant un rendu avec fond noir et un rendu avec fond blanc, on devrait, pour chaque pixel (principalement pour les pixels du contour de l'objet), pouvoir déterminer la valeur de l'alpha, et des 3 canaux RGB. Quelqu'un sait-il s'il existe un programme qui fasse ça ?
Toi, à la main
soit plus clair, parce que c'est vraiment obscur. Tu veux en faire quoi de ces valeurs ?
Ca risque d'être un peu long, je vais supposer que tu sais ce qu'est l'antialiasing.
Prenons le cas d'un objet opaque ayant un contour un peu complexe, et dont je souhaite faire (via un logiciel qui fait du lancer de rayons) une image comportant de la transparence. Pour un pixel du contour de cet objet, si j'active l'antialiasing, mon logiciel va lancer un certain nombre de rayons, et tester s'ils ont une intersection avec mon objet, ou non.
Si je fais du gif, et que je veux coller mon image sur un fond bleu pur, je vais devoir faire un rendu de mon objet sur un fond bleu pur, et assigner à ce bleu pur la couleur transparente (transparence du format gif = un index de couleur est associé à la transparence totale). Le pixel de mon coutour aura une couleur qui sera en partie liée à cette couleur de fond (bleu pur), en proportion du nombre de rayons qui n'ont pas d'intersection avec l'objet.
C'est fantastique, la vie est belle, j'ai mon image que je peux coller sur fond bleu. L'ennui, c'est que si je la colle sur un fond de couleur différente, c'est un véritable massacre.

Avec un canal alpha, on est en principe en mesure de coder, en plus des canaux Rouge, Vert et Bleu, une valeur de transparence.
Ca revient à dire que pour le pixel de mon contour d'objet, les canaux RVB contiendront l'information relative à la couleur résultant des rayons ayant une intersection avec mon objet, et que le canal alpha stockera l'information relative à la proportion des rayons qui n'ont pas d'intersection avec mon objet.
Bref, je peux coller mon image sur un fond de n'importe quelle couleur, j'aurai un antialiasing, sans la contrainte de devoir dès la génération de mon image savoir sur quelle couleur de fond elle sera collée.
Sur le canal alpha, on a en quelque sorte la silhouette de l'objet, et c'est ce contour "monochrome" qui est antialiasé.

En générant deux images de mon objet, avec l'antialiasing activé, l'une sur fond blanc et l'autre sur fond noir, on devrait être en mesure d'extraire pour chaque pixel, à la fois la couleur et la valeur du canal alpha à enregistrer dans une image au format png.
Ceci ne s'appliquant probablement proprement qu'aux contours d'objets opaques sans trop de réflexions...

Ma question était : vais-je devoir écrire le programme qui fait ça ?
Citation :
Provient du message de leZilou
Ma question était : vais-je devoir écrire le programme qui fait ça ?
C'est mieux
Question en passant : et la solution de faire ton rendu sur un fond transparent ?

Sinon oui, gimp et photoshop (versions récentes) gèrent la couche alpha, par contre, je ne sais si l'un des 2 correspondra vraiment à ce que tu cherches
Bin... mon problème est que je comptais appliquer ça à des images générées par Pov-Ray (On arrête de rigoler, au fond, s'il vous plaît). Dans le source d'un rendu Pov, on peut spécifier une couleur de fond mais je doute que, si on définit le .png comme format de sortie, Pov s'amuse vraiment à traiter le canal alpha de l'image de sortie en fonction de l'intersection des rayons lancés avec le "fond" de l'image.
Bref, faut que je teste ça. Si ça ne fonctionne pas, je suis bon pour m'écrire un petit programme qui combine mes images...
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés