Matlab : probleme avec filtre moyenneur
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Matlab : probleme avec filtre moyenneur



  1. #1
    invite5a19e27a

    Matlab : probleme avec filtre moyenneur


    ------

    salut tout le monde je veux filtrer une image avec un voisinage 3*3en utilisant un algorithme mon probleme c'est que a la fin de ce dernier il ya un probleme dont j'ignore la solution
    %lire le fichier sans entete
    Code:
    fid=fopen('D:\dossier image\alger400_400_6','r');
    x=fread(fid,'uchar');
    
    %extraction de la bande3
    
     m153= multibandread ('D:\dossier image\alger400_400_6',[400 400 6],...
         'uint8=>uint8',0,'bsq','ieee-le', {'band','direct', [3]});
    im2=m153(:,:,1) , 
    %EFFET DE BORD
     im3=[im2(1,:);im2];
       im4=[im3(:,1),im3];
     moy=([1/9 1/9 1/9;1/9 1/9 1/9; 1/9 1/9 1/9]);
      for x=2:size(im4,1)-1
             for y=2:size(im4,2)-1
       
                 is(x,y) =((sum(sum(im4(x-1:x+1,y-1:y+1).*moy))));
               
             end
        end
    il m'affiche ceci
    Code:
    ??? Error using ==> times
    Integers can only be combined with integers of the same class, or scalar doubles.
    
    Error in ==> tp3essai at 27
                 is(x,y) =((sum(sum(im4(x-1:x+1,y-1:y+1).*moy))));
    quelqun a une idééééééééééééééééééééééééé ???????????? merci

    -----

  2. #2
    Philou67

    Re : probleme avec filtre moyenneur

    Peut-être aurais-tu pu préciser le langage ?
    :'( Plus j'apprends, et plus je mesure mon ignorance

  3. #3
    invite5a19e27a

    Re : probleme avec filtre moyenneur

    c'est le langage matlab

  4. #4
    inviteb9f49292

    Re : probleme avec filtre moyenneur

    Vu le message d'erreur, je pense que tu multiplies une matrice d'entier (im4) avec une matrice de flottant (moy), il faudrait alors convertir ta matrice d'entiers en flottants grâce à la fonction "double".

    Remarque:
    Je suis un peu rouillé en math, mais je pense que ton filtrage peut être fait par la fonction "filter2" et gagner en temps d'exécution, matlab n'est pas très véloce avec les boucles.

  5. A voir en vidéo sur Futura
  6. #5
    invitea29b3af3

    Re : Matlab : probleme avec filtre moyenneur

    Comme le dit lou_ibmix_xi, je convertirais en double.
    Code:
    x = double(x);
    Mais si ton but est simplement de filter une image par un filtre moyenneur 3x3, te fatigue pas, utilise les fonctions matlab:
    Code:
    ton_filtre = fspecial('average'); %la taille par défaut est 3x3
    ton_image_filtree = imfilter(ton_image, ton_filtre, 'symmetric', 'same');
    %voir l'aide de imfilter: symmetric pour "mirorer" les valeurs
    %de bords et 'same' pour garder l'image filtrée à la même taille
    %que l'image originale.

Discussions similaires

  1. probleme avec un filtre RC cascade
    Par invitef624c093 dans le forum Électronique
    Réponses: 9
    Dernier message: 04/04/2015, 22h31
  2. Problème filtre butter sur Matlab
    Par invite0819340a dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 20/01/2013, 11h51
  3. algorithme d'un filtre moyenneur
    Par invite7f52ecd4 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 20/01/2010, 10h58
  4. Problème avec Matlab
    Par invite0f0656ee dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 05/04/2009, 21h26
  5. filtre moyenneur
    Par invite81368a74 dans le forum Électronique
    Réponses: 1
    Dernier message: 15/05/2006, 11h09