0
J'ai un masque logique de pixels e1
qui doit être "blended". Quelle que soit la valeur que je mets pour k
, la boucle exécute k
fois mais l'image n'est affectée qu'une seule fois. code:Problème avec une simple boucle dans Matlab
for k=1:5 %I want to do it 5 times but it does the action only once.
for i=2:rows-1
for j=2:cols-1
if e1(i, j) == 1 %if mask == 1, I take "marked" pixel, 8 pixel surrounding it, and avg them.
I2(i, j, 1) = (I2(i, j-1, 1) + I2(i, j+1, 1) + I2(i-1, j, 1) + I2(i-1, j-1, 1) + I2(i-1, j+1, 1) + I2(i+1, j, 1) + I2(i+1, j+1, 1) + I2(i+1, j-1, 1))/8;
I2(i, j, 2) = (I2(i, j-1, 2) + I2(i, j+1, 2) + I2(i-1, j, 2) + I2(i-1, j-1, 2) + I2(i-1, j+1, 2) + I2(i+1, j, 2) + I2(i+1, j+1, 2) + I2(i+1, j-1, 2))/8;
I2(i, j, 3) = (I2(i, j-1, 3) + I2(i, j+1, 3) + I2(i-1, j, 3) + I2(i-1, j-1, 3) + I2(i-1, j+1, 3) + I2(i+1, j, 3) + I2(i+1, j+1, 3) + I2(i+1, j-1, 3))/8;
end
end
end
end
Ce comportement sera attendu si tous vos éléments '1' dans l'image e1 est sans lien. Si c'est le cas, plus d'un passage sur I2 ne produira pas de résultats différents, car aucun point voisin n'est changé. – Vidar