Bonjour à tous,
J'ai une image chris/proba sur 18 longueurs d'ondes chaque longueur d'onde correspond à une image. et j'aimerai faire du rgb pour afficher en meme temps plusieurs images. Voulre vous m'aider
Bonjour à tous,
J'ai une image chris/proba sur 18 longueurs d'ondes chaque longueur d'onde correspond à une image. et j'aimerai faire du rgb pour afficher en meme temps plusieurs images. Voulre vous m'aider
C'est quoiEnvoyé par MBAYE BABACAR GUEYE
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
Red Green Blue, c'est le fait d'afficher une image sur trois longueurs d'ondes differentes (ou semblables) car d'abitudes les images ssont affichées sur une seule WL(=Wave Lenght=longueur d'onde)
je rejoins dutmatlab sur le fait que je ne comprenne pas ce que peut être une image "chris/proba"
18 longueurs d'ondes pour une seule image, waou, y'a de quoi s'en mettre plein les yeux
Pour en revenir à ton problème, tout dépend de tes longeurs d'onde...
L'idée de base, c'est de transformer tes 18 images (correspondant à tes 18 longueurs d'ondes) en un seule image en niveaux de gris. Pour ça, soit tu fais une bête moyenne pixel par pixel (addition de chaque pixel de tes images puis renormalisation), soit tu connais l'importance de chaque longueur d'onde et tu peux ajoutter une pondération à tes pixels.
Une fois que tu as ton image en niveaux de gris, tu peux très facilement la repasser en RGB (par exemple en utilisant la formule ImageRGB = 0.3R + 0.59G + 0.11B)
typiquement, ça donne ça:
Après, tu peux aussi t'amuser à rassembler tes fréquences. Genre si tu sais quelles images entre en telle proportion dans ta composante verte, tu fais une somme pondérée avec normalisation pour directement avoir ta composante verte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Ima = 1/18(Ima1 + Ima2 + ... + Ima18); % moyennage ImaRGB(:,:,1) = Ima * 0.3; %composante rouge ImaRGB(:,:,2) = Ima*0.59; % composante verte ImaRGB(:,:,3) = Ima*0.11; % composante bleue
Je sais pas si je suis très clair
C'est ça ? http://www.chris-proba.org.uk/
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
Je ne suis pas certain d'avoir saisi la question. Pour ce que j'en ai compris, tu souhaites faire de la fausse couleur avec tes 18 canaux. Est-ce bien cela ?
Si oui, le plus classique c'est de faire une ACP (analyse en composantes principales) sur tes 18 canaux et d'affecter les couleurs R/V/B aux axes 1/2/3 de l'ACP.
Matlab n'est pas l'outil habituel pour ces traitements. Pourquoi ne te tournes-tu pas vers un logiciel de télédétection genre Idrisi ?
OL
"La vraie grandeur se mesure par la liberté que vous donnez aux autres, et non par votre capacité à les contraindre de faire ce que vous voulez." Larry Wall, concepteur de Perl.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager