Bonjour.
Voici le probleme: je voudrais effectuer une opération sur une image qui demande à parcourir tous les pixels de cette image. Ce qui pour moi implique 2 boucles for imbriqués. Seulement, devant répéter cette opération un grand nombre de fois, cette opération devient très lourde niveau temps de calcul (je crois que matlab compile puis execute ligne après ligne).
Je me demandais si il était possible d'éviter ces 2 boucles imbriquées, et dans le même temps, si il y a des astuces pour éviter ces boucles for et while si gourmandes, ...
Voici le code: (C'est un filtre médian, ...)
En vous remerciant d'avance, ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for i = 2:s(1)-1 % Parcours de l'image for j = 2:s(2)-1 valeurs = sort(reshape(elecPS(i-1:i+1,j-1:j+1),[],1)) ; % Récupération des valeurs de l'image dans un carré 3x3 elecF(i,j) = valeurs( (floor(size(valeurs,1)/2)+1) ) ; % Affectation de la valeur médiane end end
Partager