Réaliser une matrice avec Excel

SERIEUXETCOOL

XLDnaute Occasionnel
Bonsoir le Forum,

J'ai un petit problème de codage... Voici ce que je cherche à faire. Je dispose d'un axe X définit sur une plage [XD;XF]. Je parcours l'axe X en incrémentant d'un pas nommé PX.
J'ai la même chose avec un second axe, l'axe Y. Il est définit par une plage [YD;YF]. Et on parcours l'intégralité de cet axe avec un pas qui vaut PY.

XD,XF,PX, et YD,YF,PY sont des variables de types Double et sont à fixer par l'utilisateur. Elles sont donc connues et le système est donc paramétré.

Maintenant je cherche à remplir 2 colonnes dans une feuille Excel de la manière suivante :

Colonne A / Colonne B
XD / YD
XD / YD+PY
XD / YD+PY+PY
...
XD / YF
XD+PX / YD
XD+PX / YD+PY
XD+PX / YD+PX+PX
...
XD+PX / YF
XD+PX+PX / YD
ETC

Je ne parviens pas à réaliser cette matrice ! Un peu d'aide serait la bien venue si possible.

Au cas ou ma méthodologie ne soit pas la bonne, je donne quelques détails sur ce que je souhaite faire du code. En gros j'ai 2 axes X et Y qui représentent une largeur de photo en pixel et une hauteur de photo en pixel. Je désire placer un certains nombre de points sur cette photo avec la résolution que je veux. Mais je n'arrive pas à automatiser le placement des points car je ne sais pas créer la matrice.

Je reste disponible si vous avez besoin de plus d'infos.

André
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Réaliser une matrice avec Excel

Bonjour.
Cette légère complexité apparente vient probablement d'un petit détail sans grande importance en soit mais bien pratique: le nom du fichier est noté sous son chemin dans la cellule. Deux avantages : 1 - Lisibilité, 2 - Isolement facile du chemin pour proposer par la suite l'ouverture d'un autre fichier dans le même répertoire.
Je vais ajouter les fonctionnalités demandées.
Question: Les photos sont obtenues par un appareil photo classique ? Et question sous-jacente essentielle: Peut ou se baser sur le gamma d'un écran LCD moderne pour établir les énergies linéaires des 3 composantes RVB nécessaires au calcul de l'angle ?
Celui ci sera l'angle du vecteur somme de ces énergies en unité=6 pour le cercle entier, le rouge étant orienté à l'angle 0 de 1 +0i, le vert à 2 (=120°) de -0.5 +0,866i et le bleu à 4 (=240°) de -0.5 -0,866i. J'indiquerai aussi la force, ça ne mange pas de pain, c'est à dire la longueur du vecteur.
À bientôt.
 

SERIEUXETCOOL

XLDnaute Occasionnel
Re : Réaliser une matrice avec Excel

Pour répondre à tes questions Danreb,

-
Les photos sont obtenues par un appareil photo classique ?

Les photos sont prises par une camera qui est montée sur un microscope. Cela me permet de filmer et/ou justement de prendre des photos (C'est une camera KAPPA pour info).


-
Peut ou se baser sur le gamma d'un écran LCD moderne pour établir les énergies linéaires des 3 composantes RVB nécessaires au calcul de l'angle ?

Oulala^^. Je me sens dépassé par cette question. Je ne sais pas quoi te répondre pour le moment. Tu maitrise le sujet et moi non. La seule chose que je peux ajouter pour ma défense lol c'est que la caméra est livrée avec un logiciel. Avant de prendre des photos avec la caméra je règle divers paramètres qui me sont proposé. Les voici : le temps d'intégration, l'amplification, Hi, Lo, Gamma, R, G, B.


Je ne sais pas si cela va beaucoup t'aider mais je ne sais pas quoi te dire de plus. Essaye de faire au mieux, et je verrais bien si je trouve des différences plus tard.

Faut bien commencer après tout. Donc continuons d'avancer pas à pas si tu le veux bien Dranreb. Je suis curieux de voir la suite perso^^

Cordialement,

André
 

Dranreb

XLDnaute Barbatruc
Re : Réaliser une matrice avec Excel

Voilà.
J'ai fabriqué une minuscule image de 3 pixels de coté pour le test. Observez bien avant d'essayer un autre fichier.
Tu maitrise le sujet
Non, pas forcément, on ne peut prétendre maitriser ce qu'on ne contrôle pas ni n'en comprend la finalité. J'ai bien été obligé de constater un beau jour à ma grande stupeur (et presque colère) qu'une valeur de composante RGB n'avait pas grand chose à voir avec la luminosité du pixel correspondant. C'est une fonction toujours croissante c'est tout ce qu'on peut dire ! Il suffit pour s'en convaincre de comparer un RGB(127, 127, 127) ou RGB(128, 128, 128) peu importe tellement ça diffère, avec une trame de minuscules motifs en surfaces totales égales de blanc et de noir: c'est plus proche de RGB(186, 186, 186), voire jusqu'à RGB(195, 195, 195) avec des écrans plus anciens !
À +
 

Pièces jointes

  • ExempSimpImg.xls
    138 KB · Affichages: 85
  • ExempSimpImg.xls
    138 KB · Affichages: 83
  • ExempSimpImg.xls
    138 KB · Affichages: 92

SERIEUXETCOOL

XLDnaute Occasionnel
Re : Réaliser une matrice avec Excel

Bonsoir Dranreb, le forum,

Dsl du répondre si tard mais ne n'ai pas eu l'occasion d'avoir accès à internet today. Et pas de chance, j
Internet ne fonctionne pas ce soir chez moi. La poissse.
Du coup je me connecte via le smartphone. Mais je ne peux pas tester le fichier Excel.

Je viendrai donner mon commentaire dès que possible.


De ce que j'ai pu voir de mon smartphone , il y a une grille de pixels qui est définie ainsi que la crorrepondance rgb, angle et force. C'est une bonne chose. Les points ont été créés ou placés sur une photo existante ???

Car moi en fait, je souhaite ouvrir une photo, définir quels pixels m'intéressent et en extraite les données que tu as mis.

comme je ne peux pas ouvrir le.fichier Excel difficile de dire pour le moment.
Je pense qu'il est possible de faire ça.

Je reviens dès que possible commenter.
merci d'avance Dranreb.

Cordialement André
 

Dranreb

XLDnaute Barbatruc
Re : Réaliser une matrice avec Excel

Bonjour.
Les points ont été créés ou placés sur une photo existante ???
Les points sont créés manuellement en indiquant des coordonnées entières dans les colonnes PixX et PixY si c'est ce que vous voulez savoir. C'est par hasard qu'ils y sont tous là, pour montrer quelles valeurs mettre pour obtenir quels pixels.
Actuellement, (1, 1) correspond au pixel du coin haut gauche, et (XbmMax, YbmMax), soit les dimensions en pixels de l'image, celui du coin bas droite.
Ce n'est qu'une ébauche de toute façon. Il devrait être possible d'ajouter du code pour sélectionner un pixel de l'image et l'ajouter à la liste par exemple. Et ajouter un bouton pour lancer l'extraction des pixels (pour l'instant elle se fait à chaque modification dans la feuille, ce qui n'est peut être pas idéal).
À +
 

SERIEUXETCOOL

XLDnaute Occasionnel
Re : Réaliser une matrice avec Excel

Salut Dranreb, le forum,

Je viens de regarder ton fichier Excel et il est pas mal en effet. Je dois avouer que pour le moment je ne suis pas bien sur de voir ou tous ça va nous mener. Je veux dire, les points sont crées alors que moi j'ai déjà mon image de base au début. Je ne veux pas créer de nouveaux points mais seulement sélectionner des points existants pour en connaitre certaines propriétés.

Actuellement je dispose d'une image ainsi que d'un ensemble de coordonnées (X,Y) en pixels de mon image dont je souhaite étudier les couleurs RGB.
Le code idéal doit me permettre d'ouvrir mon image, et de me proposer une colonne X et Y ou je dois placer mes points. Si Excel détecte une coordonnée (X,Y) qui est correcte vis à vis de l'image alors il me calcule les différents paramètres que tu as mis. Comme ça il me ne me reste qu'a choisir mes points sur l'image et j'aurais les infos désirés.

Mais actuellement, je ne vois pas comment m'en sortir. Je dois pas avoir une bonne vision je pense^^

A moins que je me sois mal exprimé ?

Je résume donc : J'ai une image et une liste de coordonnées (X,Y). Je souhaite avoir les propriétés de TOUS ces points.

Dranreb, si tu vois que c'est trop compliqué ou que je n'ai pas le niveau pour un tel code ne te casse pas la tête. J’essayerai de me débrouiller d'une autre façon ;)

Cordialement,

André
 

Dranreb

XLDnaute Barbatruc
Re : Réaliser une matrice avec Excel

Bonsoir
C'est bien comme tu le dis que ça devrait marcher, et que ça marche d'ailleurs chez moi.
Tu entre les coordonnées des pixels que tu veux analyser dans les colonnes PixX et PixY et il t'indique les couleurs des pixels correspondants.
Pour vérifier si les calculs sont bons, j'ai chargé une image carrée microscopique de 3 pixels de coté fabriquée avec Paint, d'où les 9 grands carrés dans l'image.
À +

P.S. Bizarre. En re-chargeant mon dernier fichier joint je n'ai pas retrouvé ce qu'il fallait dans la feuille.
Je le re-joint donc, puis vais re re-charger pour voir.

Ben là c'est bon pour moi ! J'avais du faire une fausse manœuvre ...ou tout simplement oublié de le sauvegarder avant de le joindre.

Rappel: pour charger une autre image, sélectionner la référence du fichier en haut: ça affiche la boite ouvrir pour y inscrire la nouvelle référence du fichier, le charge et réexamine tout de suite les pixels indiqués dans les colonnes PixX et PixY.

P.S. Important: Il y a des plages nommée (leurs noms sont les mêmes que les titres). Veillez à ce qu'elles soient suffisamment grandes pour accueillir toutes vos coordonnées, sinon insérez des lignes avant la dernière.

Je me suis souvenu de début de la discussion. J'ai fait un autre classeur où on entre juste les début, pas, fin en X et Y.
C'est ExempImg.xls avec une image à peine plus grande que la première (de la taille d'un tout petit bouton quand même cette fois)
Le nombre de lignes nécessaires des plage nommées est rectifié automatiquement.
À +
 

Pièces jointes

  • ExempSimpImg.xls
    139.5 KB · Affichages: 66
  • ExempSimpImg.xls
    139.5 KB · Affichages: 70
  • ExempSimpImg.xls
    139.5 KB · Affichages: 63
  • ExempImg.xls
    165 KB · Affichages: 73
  • ExempImg.xls
    165 KB · Affichages: 72
  • ExempImg.xls
    165 KB · Affichages: 64
Dernière édition:

SERIEUXETCOOL

XLDnaute Occasionnel
Re : Réaliser une matrice avec Excel

Bonjour le Forum,

Constatation :

Dranreb !!!!!!!! Juste un mot : Whaou...


Analyse des fichiers Excel :

Ce que tu as fait est absolument superbe je trouve. Tout d'abord dsl pour le retard mais mon boulot m'a empêché de venir m'épanouir sur Excel la semaine dernière^^. Bref, je commençais à regarder le premier des deux fichiers Excel que tu proposais en pièce jointe et je me suis dit en le testant : " C'est pas mal en effet, mais on est toujours pas proche de ce que je recherche. C'est dommage". Je ne comprenais pas réellement comment le fichier fonctionnait. En effet lorsque je changeais une coordonnée dans la liste, et bien plusieurs lignes se mettaient à bouger simultanément et je n'y comprenais rien. Et si je n'y comprends rien... c'est à dire que le fichier n'est pas adapté pour moi. C'est bête mais pourtant véridique.

Je me suis alors amusé sur ton deuxième fichier Excel...Et c'est la que tout d'un coup juste en ouvrant le fichier je me suis dit " Whaou, et ben voila !!!! La on se rapproche à vitesse grand V de ce que je recherchais". J'ai tout de suite remarqué plusieurs éléments sur la feuille Excel qui étaient ceux que je cherchais. Entre autres, il y avait :

-Le chemin d'accès à la photo
-La photo
-Un encadré de paramétrage de la maille (X initial, X final, Pas en X, Y initial, Y final, Pas en Y)
-La table de sortie comprenant le maillage en X et Y, les coordonnées RGB, et en supplément d'autres caractéristiques

Jusque la, Dranreb tu as 100% tout juste. En fait je suis scotché pour resté franc ! Autre chose, j'ai moi aussi cherché à faire mon maillage X, Y EXACTEMENT de la même manière que tu l'a fait. Ça m'a pris tout un weekend, et lorsque que je demande le même maillage que le tiens, mon code met 100 à 200 fois plus de temps que le tiens. Truc de ouf. J'irais voir comment tu as codé ce maillage. Mais en tout cas pour moi c'était une crainte de mailler beaucoup de points car mon pc mettait 4 à 8 min pour trouver les coordonnées X et Y du maillage demandé. Le tiens est quasi instantané à résolution égale. C'est remarquable !

Comme quoi je n'ai pas le niveau requis pour programmer, mais juste pour donner les idées générales. Mais je progresse car au final j'ai bien réussi à faire mon maillage^^

Tout ceci étant dis, je me dois de te remercier par avance pour le code que tu as mis au point. C'est juste super de voir le projet avancer.



Je me suis souvenu de début de la discussion. J'ai fait un autre classeur où on entre juste les début, pas, fin en X et Y.

Tu as très bien fait de te souvenir de ce détail qui était crucial pour moi. Au moins je sais que tu comprends parfaitement mon idée maintenant.

On peut donc essayer de poursuivre le développement en posant d'autres petites briques si tu veux bien Dranreb.

Les choses à dire et/ou modifier maintenant :

-Tout d'abord je pense que l'on peut oublier les précédents fichiers Excels qui ont mis au point précédement pour ne garder que le dernier qui fonctionne le mieux, c'est à dire "ExempImg".

La première chose qui m'a immédiatement fait défaut quand j'ai testé le fichier "ExempImg" c'est que bien que la grille X, Y soit créée et affiché sur le tableur Excel; les points n'apparaissent pas sur la photo. Je ne sais pas s'il est possible d’interagir directement avec la photo. Je pense que si tu n'as pas voulu faire afficher les points créés sur la photo c'est pour une bonne raison. J'aimerais la connaître Dranreb ?
En tout cas j'ai besoin de savoir si oui ou non il est possible dans la configuration actuelle de placer les points X, Y sur la photo ?

J'ai parcouru ton code, et j'ai pu observer que tu avais recours aux api...Je suis dsl mais je vais être rapidement dépassé avec tout ça. Je te laisse faire car c'est toi l'expert :p. En tout cas je me suis dit que l'on aurait besoin d'Api pour s'en sortir à un moment. Normalement on devrait être capable de placer tous les points de ma maille à leur emplacement respectif sur la photo. Je me trompe peut être bien sur...


-Deuxième et dernière remarque : Je vais aborder la encore un sujet que je ne maîtrise absolument pas mais que j'entrevois bien. Pour un pixel donné, tu as réussi à extraire la composante R, G, B et calculé certains éléments. Tout d'abord merci d'avoir mis des commentaires explicite sur le code. Je pourrais ainsi faire des recherches sur le net pour mieux comprendre les éléments calculés. Mais pourrais tu m'éclairer sur les composantes polaires (énergie, angle, force) ??? Pour moi un Pixel s'allume avec un peu de rouge, un peu de vert et un peu de bleu pour donner finalement une couleur unique. A quoi correspond alors l'énergie, l'angle et la force du pixel ? Si tu pouvais me donner une explication physique et/ou imagée ? Ça m'intrigue et je n'aime pas comprendre.

D'autre part, dans mes recherches sur le net, j'ai chercher à convertir une image RGB en une image HSI. J'ai vu que cela était possible si l'on connait la couleur RGB des pixels. Or justement dans le fichier Excel la couleur de chaque pixel RGB est connue. Est il alors possible de rajouter une colonne qui me donne la valeur des HUE (prononcer YOU) ???
Sur le net j'ai vu que l'on pouvait calculer pour chaque pixel la correspondance, mais j'ai également vu des fonctions de conversions toutes prêtes. Je ne sais pas quoi faire. Le HUE correspond à la teinte (ou à la lumière je ne sais plus). Il est étalonné de 0 à 65 535. Avec le logiciel que j'utilise, pour un pixel sectionné, j'obtiens la valeur de HUE nommée GRAY. C'est cette valeur la que je souhaite obtenir par Excel. Donc un pixel donnée en X, et Y ainsi qu'un HUE. Je ne veux pas pas un HUE normalisé, mais bel et bien un HUE compris entre 0 et 65535.

Voila ce que j'aimerais bien faire pour le prochain fichier Excel. Comme j'ai beaucoup écris (je m'excuse pour le roman) je vais résumer les évolutions possible :

Résumé :

-Faire afficher sur la photo tous les pixels qui se trouvent dans le maillage X, Y ( si possible bien sur)
-Rajouter une (ou plusieurs colonnes) dont au moins une contiendrait la valeur de HUE pour chaque pixel se trouvant dans le maillage X, Y


Et voilà^^(rien que ça tu me diras). D'avance merci Dranreb.

Cordialement,

André


Ps : Pour info, je dispose d'un logiciel pour photo qui justement me donne pour un pixel la correspondance R,G,B. Donc pour une même image chargée avec le logiciel (qui constitue ma référence actuellement) et le fichier Excel, j'obtiens la même correspondance RGB. donc ça semble fonctionner à merveille ! Plus un pour toi Dranreb
 

SERIEUXETCOOL

XLDnaute Occasionnel
Re : Réaliser une matrice avec Excel

Je viens de regarder sur le net des infos pour mieux cerner la problématique des HUE.

En fait je pense que moi même j'ai du mal à comprendre les choses. Normal que ce ne soit pas très clair ensuite. La valeur que j'ai donné tout à l'heure 65535 correspond à la "luminance" pour une image en 16 Bits. C'est à dire que la luminance aura une plage comprise entre 0 et 65535.

Rien à voir avec ce que je pensais initialement.

Une image JPEG, aura une luminance comprise entre 0 et 255. Pour obtenir ma luminance à 65535, je dois ocnvertir ma photo en 16 Bits.

Je ne sais pas encore comment tout va se goupiller, mais je sens qu'un réel problème va survenir. Moi je veux la chose suivante : Pour un pixel donné, obtenir une valeur de luminance comprise entre 0 et 65535. Pour qu'ensuite je compare avec ce que me donne le logiciel que j'utilise actuellement et voir si les résultats sont similaires. Moi même j'ai du mal à définir ce que je veux car ce n'est pas très clair encore. Le HUE représente un angle, ce n'est donc pas la valeur du HUE que je cherche mais bien la valeur de luminance du pixel comprise entre 0 et 65535.

Dranreb si tu parviens à résoudre cette affaire, chapeau ! Moi je m'y perd avec toutes ces conversions de formats et de représentations....


André
 

Dranreb

XLDnaute Barbatruc
Re : Réaliser une matrice avec Excel

Bonsoir.

Je pense que si tu n'as pas voulu faire afficher les points créés sur la photo c'est pour une bonne raison
Oui: je n'avais pas compris dans la demande qu'il fallait les matérialiser sur la photo. Mais je me demandais pourquoi ça n'avait pas été demandé. Ce n'est pas évident à faire. Un simple point ne me semble pas suffire. Et puis il vaut mieux ne pas altérer la map de l'image pour cela ! J'ai une autre idée, j'y reviendrai plus loin.
Mais pourrais tu m'éclairer sur les composantes polaires (énergie, angle, force) ?
L'énergie globale, qui ne nous intéresse pas vraiment ici, résulte de la somme pondérée (environ 30% rouge, 59% vert, 11% bleu) des énergies des trois composantes, étalonnées par convention de 0 à 1000. Elles sont calculées en fonction des valeurs de composantes (0 à 255) selon la fonction perso EnrgG du classeur (faire un graphique pour voir son allure). Pour les deux autres éléments je donnais au #16 des éléments de réponses en commençant par parler de l'angle: "Celui ci sera l'angle du vecteur somme de ces énergies en unité=6 pour le cercle entier, le rouge étant orienté à l'angle 0 de 1 +0i, le vert à 2 (=120°) de -0.5 +0,866i et le bleu à 4 (=240°) de -0.5 -0,866i. J'indiquerai aussi la force, ça ne mange pas de pain, c'est à dire la longueur du vecteur.". Il y a aussi quelques commentaires explicatifs dans le module CouleursCalculs. Examinez aussi le code de la procédure CalcEAFÉng: il n'est pas très gros et me semble pas trop difficile à comprendre. Atn2u6 calcule évidemment un arc tangente en unité 6 / 2pi (plus facile que les degrés ou radians: 2=vert etc.)

Enfin dans ton dernier poste:
Le HUE représente un angle, ce n'est donc pas la valeur du HUE que je cherche mais bien la valeur de luminance du pixel comprise entre 0 et 65535.
J'avais cru comprendre que c'était la teinte qui était déterminante, donc l'angle, puisqu'elle résultait de réflexions sur les limites d'un film d'huile d'épaisseur à déterminer, de même ordre de grandeur que les ondes lumineuses. Je te conseille d'ajouter des formules à droite qui calculent ce qu'il faut à partir de ce que fournit CouleursCalculs.

Bon. Pour revenir au sujet en suspens, je vais à présent vérifier si l'image de fond de la zone de traçage d'un graphique peut se manipuler aussi facilement que celle d'un contrôle image. Si ce n'est pas le cas, il restera toujours la ressource de mettre un graphique transparent par dessus pour visualiser les point ! N'est-ce pas ?

Cordialement.
 

SERIEUXETCOOL

XLDnaute Occasionnel
Re : Réaliser une matrice avec Excel

Bonjour Dranreb, le forum,

En ce qui concerne l'affichage des points sur la photo, c'est uniquement pour mieux visualiser la maille qui est demandée. En gros avoir la version analytique ET la version graphique correspondante. (Voir ou elle commence, ou elle finie, la résolution que ça fait sur la photo, etc). C'est juste visuel rien de plus. Donc si vraiment ce n'est pas possible à faire alors tant pis. Mais j'avoue que ça m'aiderais énormément pour la suite du projet...
Personnellement après avoir fait ma maille, j'affichais les points sur un graphique à coté. Cela me permettait de juger si ma maille était bonne ou pas. Combiner la photo ET les points ensemble serait juste super.


En ce qui concerne la valeur du pixel qui m’intéresse je suis dsl ce n'est pas superbement claire dans ma tête. Je vais poursuivre mes recherches et faire 2 ou 3 tests que j'ai en tête pour savoir réellement ce que je veux.
Après une mini réflexion je suis sur de ce que je veux :

-Pour un pixel je veux obtenir une valeur comprise entre 0 et 65535 (c'est sur ça)
-Je veux également la valeur HUE du pixel. C'est à dire la teinte si je ne me trompe pas (c'est sur ça aussi)
-Pour ce faire, je dois convertir mon image 8 bits en 16 bits (et la encore j'en suis persuadé)


Dans tous les cas voila la procédure que je réalise actuellement :

-Dans mon logiciel de traitement d'image, j'ouvre mon image en .tif. Son format est le suivant : RGB 24-bit (8 bit Red, green, blue). Cette valeur est celle indiqué par le logiciel.
-Je convertis cette image en HSI (HUE, SATURATION, INTENSITY) 48-bit (16 bit Hue, Sat, Intensity). La encore la valeur est celle indiqué par le logiciel.
-Je ne travaille ensuite que sur la composante HUE. C'est à dire la première parmi les 3. Les 2 autres ne m'intéressement pas.


Finalement après avoir écris ça, je me rends compte que j'ai tout dis ! C'est donc bien la valeur du Hue qui m'interesse. Cette valeur est comprise entre 0 et 65535, et ma photo doit être convertis en 48-bit HSI. Et ben voilà, je sais ce que je veux enfin !


Je résume donc de nouveau :

-Placer les points de la maille sur la photo
-Pour chaque pixel récupérer la valeur du Hue comprise entre 0 et 65535 après avoir converti l'image en HSI 48-bit


Cordialement,

André
 

Dranreb

XLDnaute Barbatruc
Re : Réaliser une matrice avec Excel

Bonjour.
-Je convertis cette image en HSI (HUE, SATURATION, INTENSITY) 48-bit (16 bit Hue, Sat, Intensity). La encore la valeur est celle indiqué par le logiciel.
Désolé, je ne connais pas ce format.
J'avais par hasard un .tif dans mes images. Je n'ai pas pu l'affecter à la Picture du contrôle image (Erreur 481: Image incorrecte). J'ai pu l'affecter comme image de fond d'un graphique, mais je n'ai pas trouvé comment en récupérer les pixels.
On devra sans doute en rester aux formats 24 bits/pixels supportés par le contrôle Image
Tu n'aura qu'à établir une fonction de correspondance entre mes angles et l'épaisseur du film d'huile. Mon petit programme Couleurs.exe pourra peut être t'aider à effectuer les calibrages: il effectue exactement les mêmes calculs que le module CouleursCalculs.
Pour la visualisation des points je m'oriente sur un graphique avec image sur la zone de traçage. Je récupérerai toujours les pixels sur le contrôle image qui ne sera plus qu'une miniature sur la feuille.

Voilà où j'en suis. Je le joins...
À +
 

Pièces jointes

  • Couleurs.zip
    52.6 KB · Affichages: 42
  • Couleurs.zip
    52.6 KB · Affichages: 46
  • Couleurs.zip
    52.6 KB · Affichages: 44
  • ExempImg.xls
    196.5 KB · Affichages: 72
  • ExempImg.xls
    196.5 KB · Affichages: 72
  • ExempImg.xls
    196.5 KB · Affichages: 76
Dernière édition:

SERIEUXETCOOL

XLDnaute Occasionnel
Re : Réaliser une matrice avec Excel

Edit : Pendant l'écriture de mon message tu as répondu entre temps. Je suis trop lent ou toi trop rapide !!!

Re bonjour,

En farfouillant un peu plus en détail sur le net, j'ai mis la main sur un petit document PDF qui explique très bien les notions liées à l'imagerie moderne.
Dranreb, je pense que tu lira ce document très rapidement tellement tu es sais déjà pas mal. Pour moi, ce document m'a permis de remettre à plat certaines notions de base déjà un peu oubliées je l'avoue.

C'est maintenant plus clair dans ma tête :eek:

Je vais essayer de donner quelques éléments si j'ai bien tout compris^^. Les images au format bmp sont codés sur 8 bits par couche. C'est à dire 8 bits pour la couleur R, 8 bits pour la couleur G, et 8 bits pour la couleur B. Il faut bien penser que l'image que nous voyons est en réalité la superposition de 3 images correspondant aux RGB. Donc pour fabriquer une image, nous avons besoins des 3 images RGB. Soit au final 3 images à 8 bits chacune donc 24 bits !!! Mon image .bmp que je charge est au format 8 bits qui résulte de 3 images superposées. Donc 24 bits.
Une image de 8 bits permet de coder 256 couleurs. J'ai superposé 3 images soit 256*256*256 qui donne 16 millions et des brouettes. Avec mon image initiale de 24 bits (8 bits par couche, donc 8 pour le R, 8 pour le G, 8 pour le B) je suis capable d'afficher 16 millions de couleurs.

Si je comprends bien, le fait de convertir mon image 24 bits (3*8 bits) en 48 bits (3*16 bits) n'est rien d'autre qu'une amélioration de la qualité de mon image de départ ??? Donc avec une image en 48 bits je dispose d'une pallette bien plus grande de couleurs. Donc une image avec un meilleur rendu.

C'est ce que je pense avoir compris.

Et c'est que je me dis : " finalement peut être qu'avec mon image 24 bits j'ai suffisamment de qualité pour faire ce que je veux ?"

Je n'ai pas encore la réponse malheureusement. Mais ça viendra !
Donc en conclusion, je pense que convertir ma photo 24 bit en 48 bits n'est pas une obligation en sois. Mais ça reste à vérifier tout de même. Sinon ça pose une limite immédiate pour la suite du projet. Et là c'est le drame !!!

Je comprends également mieux pourquoi je voulais obtenir un HUE compris entre 0 et 65535. C'est le fait d'avoir converti ma photo en 48 bits. Ma palette de couleurs est donc bien plus grande. Si je ne convertis pas ma photo en 48 bits, j’obtiendrai un HUE compris entre 0 et 256 si je ne me trompe pas trop ?
Et la on vois tout de suite qu'entre 256 couleurs et 65535...il n'y a pas photo.


Voila une raison possible de pourquoi faut il convertir mon image au préalable...

Autre chose, j'ai eu la curiosité de tracer sur un graph 3D en X les pixel X, en Y les pixels Y et en Z l'énergie, puis l'angle, puis la force. Juste pour voir la gueule que ça avait sur mes images, et pour voir si je retrouvais le même genre de choses qu'avec ma méthode archaïque que j’emploie actuellement.

Alors les premiers constats : L'énergie ne me donne rien d’intéressant. Comme tu l'avais souligné plus haut, cette composante la ne me sera pas utile par la suite.

Par contre !!! l'angle et la force me donnent des résultats plus que similaire si on les compare tous les deux. D'autre part ces deux graphs la (angle et force) sont aussi très similaires aux graphs que j'ai pu tracer moi même avec mon maillage et mon HUE issu de mon logiciel.

Ce qui veut donc dire que l'on est sur une très bonne voie ! J'ai réalisé très rapidement ces tests la. Malheureusement je n'ai pas utilisé la même photo comme référence pour comparer et je n'ai pas utilisé le même maillage non plus (j'ai utilisé un maillage circulaire avec une résolution de bourrin alors qu'avec ton fichier j'ai utilisé un maillage complet de la photo et une résolution très grossière). Donc il faudra que je refasse ça calmement ce soir pour être certains de mes conclusions.
De plus j’ajouterais qu'à première vue, il semblerait que la composante Force soit plus riche de qualité que la composante Angle. A creuser ça aussi...

Dans tous les cas il est clair que la forme est similaire avec ta méthode ou la mienne. Ne reste plus qu'a savoir si la valeur portée en Z est exploitable ou pas.


Je viendrais donner plus de conclusions par la suite. Whaou ça fait un paquet d'informations dis donc. Discussion très riche j'aime bien.


Tu n'aura qu'à établir une fonction de correspondance entre mes angles et l'épaisseur du film d'huile. Mon petit programme Couleurs.exe pourra peut être t'aider à effectuer les calibrages: il effectue exactement les mêmes calculs que le module CouleursCalculs

Je n'ai pas compris cette remarque. Et elle me semble plus qu’intéressante. Premièrement j'ai essayé ton programme couleur.exe. J'ai bien remarqué qu'il donne exactement les même résultats que le fichier Excel ou on charge la photo. Mais je ne vois pas comment je pourrais me servir du programme pour faire une correspondance entre les angles et les épaisseurs de film d'huile ??? Peut tu m'en dire d'avantage sur le sujet ? Actuellement pour faire le lien entre une valeur d'angle et une épaisseur de film d'huile, je dois faire une courbe de calibration statique. Je peux t'en dire plus si tu veux.
Mais j'aimerais sans t'influencer, savoir comment toi tu procéderai. Je suis curieux à tout point la :eek:



Pour la visualisation des points je m'oriente sur un graphique avec image sur la zone de traçage. Je récupérerai toujours les pixels sur le contrôle image qui ne sera plus qu'une miniature sur la feuille.

Je pourrais mieux en parler après avoir vu la chose. J'ai hâte d'ailleurs^^. J'ai le sentiment que tu veux miniaturiser le contrôle image, et laisser l'image en taille réel associée au graphique. Astucieux, mais j'ai du mal à voir le résultat final. Je préfère attendre. Je veux quand même dire que j'aime bcp le fait de pouvoir voir l'image comme elle est actuellement. C'est agréable je trouve. Maintenant si tu met la même image sur le graphique ça devrait être pareille je pense.

Bref à voir ce que ça donne. Pourquoi pas je dis. Tu as de très bonnes idées après tout.


Bien cordialement,

André

PS : Le document .pdf en pièce jointe
 

Pièces jointes

  • 2-traitement_numerique_de_l'image.pdf
    631.5 KB · Affichages: 113
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Réaliser une matrice avec Excel

Si je ne convertis pas ma photo en 48 bits, j’obtiendrai un HUE compris entre 0 et 256 si je ne me trompe pas trop ?
Je ne sais pas. Mon Couleurs.exe n'affiche que 48 couleurs différentes mais le calcul rend l'angle avec plus de précision en tenant compte de toutes les composantes.
Mais je ne vois pas comment je pourrais me servir du programme
Moi non plus, ça dépend des informations que tu aura en remplissant une table de correspondance sur une autre feuille. Il peut entre autre servir sur une image connue affichée quelque part puisqu'il est équipé d'un outil permettant de capturer un pixel n'importe où sur l'écran.
Je n'avais par encore vu ton dernier poste. J'ai joint le nouveau ExempImg.xls au précédent.
À +
 

SERIEUXETCOOL

XLDnaute Occasionnel
Re : Réaliser une matrice avec Excel

Bonsoir tous le monde,

Dranreb j'ai pu m'amuser avec ton dernier fichier Excel et il est vraiment bien fait. En effet j'arrive à visualiser la maille en même temps qu'elle est créée. C'est très bien.

Cependant j'ai peut être un peu poussé les limites d'Excel je me dis. Je m'explique. Quand je créé une maille très fine, premièrement ça prends forcément plus de temps pour le calcul car Excel doit afficher les points sur le graph (en même temps c'est ce que j'avais demandé). Mais ça fait ramer la navigation si l'on manipule bcp de points. Et malheureusement ce sera mon cas par la suite.
De plus ce qui est le plus gênant est le fait que lorsque l'on utilise l'ascenseur vertical (en gros la molette pour naviguer dans le sens des lignes), et bien le graph recalcule sans arrêt son affichage des points. Donc dès que l'on utilise la molette, ça reconstruit sans cesse, et ça fait ramer. C'est beaucoup trop contraignant pour être acceptable.

Je me suis rendu compte que si l'on supprime le graph qui contient les points de la maille, et bien les calculs sont quasi instantanés même pour une maille très fine. C'est véritablement plus fluide et plus agréable.

Finalement je vais quand même garder l'idée du graph mais pour une utilisation légère différente. Je ne vais plus placer tous les points de la maille mais seulement quelques uns (une dizaine). Ces points me permettrons de visualiser la position de ma maille sur la photo, et elle ne fera pas ramer le reste.

Par contre j'ai une autre question Dranreb : Est-il possible de ne pas afficher le contrôle image sur la feuille Excel ? Ou alors existe il une solution pour le masquer peut être ?
Car en fait pour la suite de mon projet, je ne pourrai pas me permettre d'avoir le contrôle image, plus le graph qui contient lui aussi l'image, plus les autres graphiques que je vais faire afficher prochainement.
Du coup je dois faire un choix. Soit je choisis de garder le contrôle image s'il ne peut pas être masqué et je supprime le graph, soit je masque le contrôle image pour ne garder plus que le grpah qui contient lui même l'image. Mais pas les deux malheureusement.

J'ai joint en pièce jointe une image bmp qui fait exactement la taille des photos que j'utilise. Toutes mes photos font donc 692 de large et 516 de haut. J'en ai profité pour faire un schéma plus imagé du contenu de mes photos. Tout comme je l'avais déjà mentionné, j'ai une image qui contient un élément circulaire quelque part dans la photo. La position du cercle varie d'une image à l'autre, mais pas le rayon.
J'ai noté les paramètres qui permettront par la suite de paramétrer correctement les fonctions. En gros, on peut noter la largeur de la photo, sa hauteur, le centre du cercle en coordonnées X et Y, le pas en X et Y, et pour finir le rayon du cercle.

L'idée par la suite serait de réaliser non plus un maillage rectangulaire comme c'est le cas actuellement mais un maillage circulaire qui prendrait en compte un centre de cercle, un rayon, et un pas identique en X et en Y. Mais il ne faut pas aller trop vite pour le moment, sinon on aura trop de contraintes d'un coup. Ce maillage la attendra encore un peu le temps de bien maîtriser la mise en forme actuelle du fichier Excel. Et pour le moment le fichier Excel est très bien. Un peu trop bien en fait. En effet je vais calculer un sacré paquet de choses sur mes images et j'ai besoin d'avoir le fichier le plus rapide possible et le plus synthétique possible. C'est à dire épurer tous les calculs et affichages non indispensables.

C'est ainsi qu'il faut faire converger le fichier Excel en essayant de supprimer ce qui est possible.

Voila comment je vois les choses :

-Il faut garder la cellule qui contient le chemin d'accès à la photo pour avoir un repère
-Il faut garder les cellules qui contiennent les coordonnées en X et en Y des pixels, ainsi que les cellules qui contiennent les angles
-Il faut supprimer les cellules qui contiennent les coordonnées en RGB (si possible bien entendu, car s'il faut réinjecter un paquet d'équations et que ça complique les choses ce n'est pas la peine).
-Supprimer les cellules qui contiennent les données relatives aux énergies et à la force. Je ne m'en servirais pas pour la suite.

Voila on va y aller doucement je préfère. Si déjà on aarrive sur un fichier qui converge vers ces idées, alors se serait super je trouve.

Je résume dans l'ensemble ce qu'il serait bon de faire évoluer :

-Ne pas faire afficher le contrôle image
-Garder le graph qui contient l'image en arrière plan
-Supprimer l'affichage des points de la maille sur le graph. ( d'autres points seront portés sur ce graphique un peu plus tard)
-Supprimer toutes les cellules qui ne serviront pas directement aux calculs par la suite (RGB, énergie, force)


Quand à moi je vais me coucher car j'ai passer la soirée à lire ton code et ça donne sacrément mal à la tête pour comprendre. C'est un truc de fou furieux le code^^
Je me sens réellement dépassé sur ce code :(


Une aspirine et au lit.

Bonne nuit le forum...
 

Pièces jointes

  • EXEMPLE DE PHOTO UTILISEE.zip
    6.1 KB · Affichages: 40

Discussions similaires