Scilab est un logiciel de calcul scientifique qui permet de tracer des fonctions mathématiques. Dans ce tutoriel, nous allons nous intéresser à la fonction Gaussienne G(x,y). Nous verrons comment tracer cette fonction à l’aide de Scilab et comment interpréter les résultats obtenus. Nous verrons également comment modifier les paramètres de la fonction pour obtenir des résultats différents.
Scilab : f(x,y) : Tracé de la fonction Gaussienne G(x,y)

Présentation
- Cette courbe est la version dans le plan de la courbe gaussienne G(x) et correspond à :
Liens utiles
- http://en.wikipedia.org/wiki/Gaussian_function
- http://en.wikipedia.org/wiki/Discrete_Gaussian_kernel#The_discrete_Gaussian_kernel
La fonction
où :
La courbe obtenue

Discrétisation de la fonction Gaussienne 2D
- En traitement d’image, il est pratique d’exprimer les fonctions appliquées à une image en masque de convolution, de taille 3×3 ou 5×5.
- La fonction Gaussienne 2D discrète peut être calculée dans un simple tableur, et l’on obtient les noyaux de convolution suivants :
- En fixant sigma = 0.8 et coeff = 16, j’obtiens (retrouve..) dans le tableur LibreOffice le noyau de convolution gaussien 2D en 3×3 suivant :
- En fixant sigma = 0.8 et coeff = 1444, j’obtiens (retrouve..) dans le tableur LibreOffice le noyau de convolution gaussien 2D en 5×5 suivant :
Le code Scilab
A copier coller dans l’éditeur Scilab
// www.mon-club-elec.fr
// par X. HINAULT
// Mai 2011
// definition de la fonction
function [z]=ma_fonction(x,y)
// y=exp(-x^2./(2*sigma^2))/sqrt(2*%pi*sigma^2); // Gaussienne 1D
z=exp(–(x^2+y^2)./(2*sigma^2))/(2*%pi*sigma^2);// Gaussienne 2D – fonction de x et y
endfunction
//x=[-%pi:0.1:+%pi]; // définition d’une série de valeurs régulièrement espacées
x=[–3:0.1:+3]; // définition d’une série de valeurs régulièrement espacées
y=x; // y = x – base carrée du graphique 3D
sigma=1; // paramètre sigma de la Gaussienne
z=feval(x,y,ma_fonction); // calcul de z en se basant sur la fonction définie – feval obligatoire pour courbe 3D
//plot3d(x,y,z); // tracé de la courbe 3D – alpha=45 et theta=35 par défaut
//plot3d(x,y,z,alpha=15,theta=50); // trace la courbe 3D
//— utiliser plot3d1 pour pouvoir utiliser les dégradés de couleurs
plot3d1(x,y,z); // tracé de la courbe 3D – alpha=45 et theta=35 par défaut
// paramètres couleur basiques du graphique 3D
// a=gca();// »axes » courant
// p=a.children;//Plot3d
// p.foreground=1;//grille noir
// p.color_mode=3;//dessus vert
// p.hiddencolor=5;//dessous rouge
// paramètres couleurs gradués du graphique 3D
// — choix du modèle de couleur à utiliser —
// différents modèles de couleurs sont disponibles
//cmap=hotcolormap(64); // modele de couleur jaune-orange – 64 niveaux
//cmap=jetcolormap(64); // modele de couleur rouge_jaune_bleu – 64 niveaux
//cmap=coolcolormap(64); // modele de couleur bleu-rose – 64 niveaux
//cmap=oceancolormap(64); // modele de couleur bleu foncé – blanc – 64 niveaux
cmap=rainbowcolormap(64); // modele de couleur jaune – vert – bleu – rouge – 64 niveaux
//— application du modele de couleur —
f=gcf();//figure courante
f.color_map=cmap;// application du modele de couleurs à la figure
Articles similaires:
- Processing Traitement d’image : Filtre Gaussien (flou, atténuation du bruit)
- Scilab – Logiciel de calcul numérique opensource
- Processing Traitement d’image : Tracé de l’histogramme cumulé d’une image
- Tracé de la courbe de l’Equation du Temps (Equation of Time ou EOT) calculée par une carte Arduino
- Processing Traitement d’image : Filtre Sobel 2D (détection de contours)
Articles Liés
- Javascript : Graphique Dygraphs simple
Le Javascript est un langage de programmation très populaire et puissant qui permet aux développeurs…
- Javascript :Graphique Dygraphs simple avec timeline
Le Javascript est un langage de programmation très populaire et puissant qui permet aux développeurs…
- Scilab - Logiciel de calcul numérique opensource
Scilab est un logiciel de calcul numérique open source qui offre aux utilisateurs une variété…