La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Digitaliser des images

Présentations similaires


Présentation au sujet: "Digitaliser des images"— Transcription de la présentation:

1 Digitaliser des images
Sommaire easyfitGUI = Modéliser des courbes grabit = Digitaliser des images

2 Télécharger le programme « grabit » sur le web, le tester
en utilisant un moteur de recherche, trouver le site de Mathworks producteur de Matlab à partir du menu de ce site, naviguer jusqu’à la « Communauté des utilisateurs », « Échange de fichiers » Chercher, télécharger et sauver dans votre répertoire de travail le logiciel « grabit » - Dans le fenêtre de commande. Lire l’aide après avoir taper : >> help grabit taper : >> grabit('-sample')

3 Expérimenter l’utilisation de grabit
Calibrer les axes Saisir les points de la courbe verte En cliquant 2 fois lentement (pas de double-clic) sur le nom de la variable « Data001 » du workspace, changer le nom pour simplement : « data » Visualiser les valeurs contenues dans cette variable en double-cliquant sur son nom. Dans une nouvelle figure, représenter la en plaçant la première colonne en abscisse et la seconde en ordonnée Placer titre et labels à votre convenance

4 Digitaliser 2 droites - Télécharger l’image « iamc2.bmp » à partir du répertoire : Digitaliser l’image pour saisir les 2 droites dans 4 variables différentes: x1 et y1 pour la droite du bas; x2 et y2 pour la droite du haut. Représenter y1 = f(x1) dans une figure Matlab.

5 Ecrire une fonction (I)
La façon naturelle d’écrire une fonction est : y = f(x). Etudions un exemple simple. L’équation d’une droite est : y = a*x +b. Dans Matlab, en utilisant l’éditeur, on peut écrire cette équation dans un fichier qui sera sauvé par exemple sous le nom : « ma_droite.m » : function y = ma_droite(a, b, x) y = a* x + b; end Ecrire la fonction « ma_droite » et la sauver dans votre répertoire de travail. A ce moment, il faut la tester dans la fenêtre de commandes . Essayer successivement: >> y=ma_droite(2, 5, 1) 7 >> y=ma_droite(2, 5, [1, 10, 100]) 7, 25, 205 >> x=1:0.1:3; y= ma_droite(2, 5, x); plot(x, y, ‘o’) Le mot « function » est obligatoire. Il signale à Matlab que le fichier est celui d’une fonction et non celui d’un simple programme. Le mot « end » est obligatoire. Il signale à Matlab que la définition de la fonction est terminée. Les variables à gauche du signe = sont les variables de sortie (ici il n’y en a qu’une : y). Les noms sont donnés par l’utilisateur : y, u, t, x, mavariable, sortie, … Quand il existe plusieurs variables de sorties, il faut les placer entre crochet comme dans cet exemple : function [u, v] = exempleavecplusieurssorties(x) u = x + 1; v = x – 1; Le nom de la fonction placée à droite du signe =, ici « ma_droite », doit être le même que le nom du fichier qui sera sauvé. Les variables d’entrée sont placées entre parenthèses (ici 3 variables : a, b et x). x est le vecteur qui contient les abscisses pour lesquelles la fonction calcule les ordonnées y.

6 Ecrire une fonction (II)
Pour utiliser une fonction avec easyfitGUI il faut écrire la fonction dans un format spécifique tel que la fonction n’ait que 2 arguments en entrée : p et x. Ecrire le fichier qu’on appellera « droite.m » en utilisant l’éditeur et le format suivant : function y = droite(p,x) y = p(1) * x + p(2); end - Dans cet exemple, p est un vecteur qui possède 2 éléments : p(1) jouera le rôle de a et p(2) celui de b de l’expression y = a*x + b. - x est le vecteur qui contient les abscisses pour lesquelles la fonction calcule les ordonnées y. Après sauvé le fichier, il faut tester la fonction : >> p=[2, 5]; y=droite(p, 1) 7 >> p=[2, 5]; y=droite(p, [1, 10, 100]) 7, 25, 205 >> p=[2, 5]; x=1:0.1:3; y= droite(p, x); plot(x, y, ‘o’)

7 Ajuster des paramètres pour approcher des données par un modèle
Les variables crées dans l’exercice Digitaliser 2 droites doivent exister. Après avoir étudier les commandes ci-dessous écrites sur une ligne : >> p=[1,2]; y1new = droite(p,x1) ; plot(x1, y1, x1, y1new, ’or’) exécuter plusieurs fois cette ligne dans la fenêtre de commandes afin de chercher par tâtonnement un vecteur p qui s’approche de la droite digitalisée y1 = f(x1). Ces valeurs seront utilisées par la suite comme valeurs initiales à un algorithme utilisé par la fonction easyfitGUI.

8 Télécharger la fonction easyfitGUI, lire l’aide et l’utiliser pour une droite et pour un modèle en puissance Télécharger le programme « easyfitGUI » sur le site Mathworks ou à partir du répertoire : Lancer le programme (la figure comportant y1 = f(x1) doit exister), utiliser l’aide disponible dans le menu de la figure pour trouver la pente et l’ordonnée à l’origine de la droite étudiée. (Voir la diapositive suivante) Télécharger le fichier de données « power1 » dans: Après avoir écrit la fonction correspondant au modèle ci-dessous, ajuster les données y=f(x) par une loi de puissance de la forme: y=a*xn + b

9 >> plot(x,y,'*') >> easyfitGUI
Etapes de l’ajustement de données expérimentales >> plot(x,y,'*') >> easyfitGUI Cliquer sur « Select Line » puis sur la courbe à « fitter » Cliquer sur « Input Function » et entrer le nom Cliquer sur « Input Pinit » et entrer autant de valeurs qu’il y a d ’ éléments dans le vecteur p de la fonction modèle. Il ne restera plus qu’à cliquer sur « Start Fit ».

10 Utiliser easyfitGUI pour un modèle de « pic » - Télécharger l’image de données « iamc1.bmp» depuis : Créer la fonction « gauss », correspondant au modèle: 𝑓 𝑥 =𝐴.𝑒𝑥𝑝 − 𝑥− 𝑥 𝐵 Ajuster les données expérimentales extraite de l’image « iamc1 » et portant sur le premier « pic ».

11 Télécharger le fichier de données « cassure» dans:
Utiliser easyfitGUI pour un modèle nécessitant une indexation « logique » Télécharger le fichier de données « cassure» dans: Créer la fonction « droite2 » donnée ci-dessous, étudier les différentes commandes qui la constituent, identifier le rôle de chaque paramètre. Ajuster les données expérimentales du fichier « cassure ». function y=droite2(p,x) x=x(:); logic_inf=x<=p(5); x1=x(logic_inf); logic_sup=x>p(5); x2=x(logic_sup); y1=p(1)*x1+p(2); y2=p(3)*x2+p(4); y=[y1;y2]; end


Télécharger ppt "Digitaliser des images"

Présentations similaires


Annonces Google