Outils pour utilisateurs

Outils du site


wiki:projet:trait_image

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:projet:trait_image [2017/04/18 21:16]
http_fablab.sorbonne-universites.fr_wiki_doku.php_id_wiki_projet_laser
wiki:projet:trait_image [2017/04/24 09:54] (Version actuelle)
http_fablab.sorbonne-universites.fr_wiki_doku.php_id_wiki_projet_laser [COMMENTAIRES]
Ligne 7: Ligne 7:
 <code> <code>
  
 +close all
 %-------------------------------------------------------------------------% %-------------------------------------------------------------------------%
 %                   Traitement de l'image                                 % %                   Traitement de l'image                                 %
Ligne 12: Ligne 13:
 %   Ce premier fichier est le pogramme de traitement. Il lit une image,   % %   Ce premier fichier est le pogramme de traitement. Il lit une image,   %
 %   puis appelle differentes fonctions afin de la traiter.                % %   puis appelle differentes fonctions afin de la traiter.                %
- +clear figure 
-Im = imread('nom_fichier.jpg'); %Im : variable contenant 3 matrices qui +Im = imread('faisc_31_03_a.jpg'); %Im : variable contenant 3 matrices qui 
                                 %contiennent les intensites de rouge, vert                                 %contiennent les intensites de rouge, vert
                                 %pour chaque pixel de l'image de base                                 %pour chaque pixel de l'image de base
Ligne 39: Ligne 40:
 image(imf2) %affichage de l'image imf2 image(imf2) %affichage de l'image imf2
  
-[imech, ech] = echelle(Im); %appelle de la fonction echelle. imech est une +ime = imread('cb_31_03_a.jpg'); 
 +[imech, ech] = echelle(ime); %appelle de la fonction echelle. imech est une 
                             %image et ech un flottant (plus d'explication                               %image et ech un flottant (plus d'explication  
                             %dans le fichier affinage.m)                             %dans le fichier affinage.m)
Ligne 46: Ligne 48:
 image(imech) %affichage de l'image imech image(imech) %affichage de l'image imech
  
-res = pos_deriv(ech, zx, 0, 0.1); %appelle de la fonction pos_deriv. res  +res = pos_deriv(ech, zx, 0.018, 0.066); %appelle de la fonction pos_deriv. res  
                                   %est une matrice nx5 (plus d'explication                                      %est une matrice nx5 (plus d'explication   
                                   %dans le fichier affinage.m)                                   %dans le fichier affinage.m)
Ligne 53: Ligne 55:
 plot(res(:,1), res(:,2)) %graphe du faisceau plot(res(:,1), res(:,2)) %graphe du faisceau
  
-save('nom_fichier.txt', 'res', '-ascii'); %ecrit les donnes de res dans un+title('Height of the beam as a function of x') 
 +xlabel('x (m)'
 +ylabel('Height (m)'
 + 
 + 
 +figure 
 +plot(res(:,2),res(:,4), '.'
 +title('Refractive index as a function of height'
 +xlabel('Height (m)'
 +ylabel('Refractive index'
 +%errorbar(res(:,4),res(:,5)) 
 + 
 +% figure 
 +% ft = fit(res(:,1), res(:,2), 'poly9'
 +% plot(ft) 
 +% save('fit_31_03_b.txt', 'ft'); 
 +save('31_03_a_fit.txt', 'res', '-ascii'); %ecrit les donnes de res dans un
                                           %fichier .txt                                           %fichier .txt
  
 +                                
 %-------------------------------------------------------------------------% %-------------------------------------------------------------------------%
  
Ligne 314: Ligne 333:
     zx(2,i) = zx(2,i)*ech;     zx(2,i) = zx(2,i)*ech;
 end end
 +
  
 %-------------------------------------------------------------------------% %-------------------------------------------------------------------------%
Ligne 329: Ligne 349:
         tab_donnees(j,1)=(i-1)*ech; %Remplissage des x         tab_donnees(j,1)=(i-1)*ech; %Remplissage des x
         tab_donnees(j,2)=zx(1,i); %Remplissage des z         tab_donnees(j,2)=zx(1,i); %Remplissage des z
-        tab_donnees(j,3)=(zx(1,i+10)-zx(1,i))/(10*ech); %derive spatiale +        tab_donnees(j,3)=devfite((i-1)*ech); %derive spatiale du fit 
-        tab_donnees(j,4)=sqrt(C0*(tab_donnees(j,3)^2+1)); %indice +        %Ce fit a ete obtenu a l'aide des donnees contenu dans zx. 
-        tab_donnees(j,5)=1/2*(zx(2,i)/zx(1,i)); %incertidue de l'indice+        %La ligne pour l'obtenir est : ft = fit(zx(2,:),zx(1,:), 'poly9') 
 +        tab_donnees(j,4)=sqrt(C0*(devfite((i-1)*ech)^2+1)); %indice 
 +        %tab_donnees(j,5)=1/2*(zx2(2,i)/zx2(1,i)); %incertidue de l'indice
         j = j+1;         j = j+1;
     end     end
Ligne 357: Ligne 379:
 Enfin la dernière image est le graphe de l’indice en fonction de l'altitude.\\  Enfin la dernière image est le graphe de l’indice en fonction de l'altitude.\\ 
  
-On remarque que le dernier graphe représente une courbe absolument pas continue. On peut l'expliquer de plusieurs manières: d'abord d'un point de vue expérimental, le sucre ne s'est potentiellement pas assez diffusé et ainsiil pourrait exister une ou plusieurs phases (par exemple, une phase eau saturée et une autre avec une concentration plus faible en sucre présentant une interface)Ensuite, la modélisation implique beaucoup d’approximations. Afin de distinguer le faisceau dans la cuvedu lait y a été ajouté afin que le faisceau se diffuse un peu. Mais par ce procédé, de la diffusion parasite apparaîtLors de la sélection du faisceau, le tri des pixels se fait à l'aide de l’intensité en rouge, avec une valeur prédéfinie empiriquement afin que « seul » le faisceau soit sélectionné. Mais le faisceau sélectionné aura de fortes chances d’être moins épais qu'il ne l'est en réalité. Une autre approximation peut aussi venir de l'affinage qui crée un faisceau d’épaisseur pratiquement nulle virtuel, et n'a pas vraiment de sens car l’épaisseur croît. Une piste pour « minimiser » ce problème serait de faire le calcul avec les bords du faisceau (valeurs minimale et maximale de l’altitude du faisceau) qui pourrait créer un faisceau « plus » continu et « plus » physique. Enfin, une dernière source derreur peut provenir de la théorie et notamment du calcul de l'indice. En effet, nous avions supposé que l’indice ne dépendait pas de x+Lors de l'affinage du faisceauon obtient une altitude approximative en fonction de sa position en abscisse en pixelsaprès une conversion en mètre, on obtient une altitudeCelle ci est quasiment des morceaux de constanterendant imprécis le calcul de l'indice qui utilise la dérivée spatiale de l'altitudeOn va donc réaliser un "fit" de cette altitude à l'aide d'une approximation d'un polynôme d'ordre 9 (Un tel ordre est sûrement trop grand, mais aux vus de nos approximations et erreurs parfois grossièrescela nous permet de nous exonérer d'une source d'erreur en plus). On obtient alors un graphe pour l'indice qui ne semble pas incohérent.
  
 </WRAP> </WRAP>
wiki/projet/trait_image.1492550205.txt.gz · Dernière modification: 2017/04/18 21:16 de http_fablab.sorbonne-universites.fr_wiki_doku.php_id_wiki_projet_laser