IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Images Discussion :

équation de la chaleur


Sujet :

Images

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut équation de la chaleur
    Bonjour, après avoir manipulé l'équation de la chaleur sur une image en noir et blanc pour la débruiter, j'essaye de l'appliquer sur une image couleur mais l'algo me donne un résultat étrange, une image plus lumineuse et je ne suis pas sûr que le lissage soit vraiment bien réalisé.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Im=imread('paysage.tif');
    Im_Noisy = zeros(size(Im),'uint8');
    Im_denoised = zeros(size(Im),'uint8');
    for i=1:3
        B=Im(:,:,i);
        B=double(B);
        noise=randn(size(B));
        B=B+2*noise;
        Im_Noisy(:,:,i) = uint8(B);
    end
    figure, imshow(Im_Noisy); title('Image bruitée');
    dt=0.2;
    T=1;
    for i=1:3
        u=double(Im_Noisy(:,:,i));
        [n m] = size(u);
        for t = 0:dt:T
            u_xx = u(:, [2:n n]) - 2*u + u(:, [1 1:n-1]);
            u_yy = u(:, [2:m m]) - 2*u + u(:, [1 1:m-1]);
            u = u + dt*(u_xx + u_yy);
        end
        Im_denoised(:,:,i) = int8(u);
    end
    figure, imagesc(Im_denoised); title ('Image lissée');
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Cette ligne est fausse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            u_yy = u(:, [2:m m]) - 2*u + u(:, [1 1:m-1]);

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            u_yy = u([2:m m], :) - 2*u + u([1 1:m-1], :);
    Sinon tu calcules le gradient deux fois horizontalement. Et tu obtiens même une erreur dans le cas d'une image non carrée.

    Une autre petite erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Im_denoised(:,:,i) = uint8(u);

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci !! ça fonctionne nickel désormais !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conditions aux limites et équation de la chaleur
    Par sachoa dans le forum Mathématiques
    Réponses: 2
    Dernier message: 09/06/2015, 19h16
  2. Réponses: 7
    Dernier message: 07/04/2015, 06h35
  3. Solution analytique de l'équation de la chaleur
    Par mgoumine dans le forum Fortran
    Réponses: 0
    Dernier message: 13/05/2013, 15h56
  4. équation de la chaleur erreur syntaxe
    Par djodjosami dans le forum Fortran
    Réponses: 2
    Dernier message: 26/01/2012, 15h06
  5. Discrétisation de l'équation de la chaleur
    Par Zerolopezdoa dans le forum Débuter
    Réponses: 2
    Dernier message: 05/05/2008, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo