Bonjour tout le monde,
je dispose d'une fonction BoundMirrorExpand(A) qui enveloppe la matrice A par des valeurs qui ne nous importent pas,en gros si la dimension de A est [m,n],la dimension du résultat (BoundMirrorExpand(A)) devra être [m+2,n+2] .
Voici le corp de cette fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 1 function B = BoundMirrorExpand(A) 2 [m,n] = size(A); 3 yi = 2:m+1; 4 xi = 2:n+1; 5 B = zeros(m+2,n+2); 6 B(yi,xi) = A; 7 B([1 m+2],[1 n+2]) = B([3 m],[3 n]); % mirror corners 8 B([1 m+2],xi) = B([3 m],xi); % mirror left and right boundary 9 B(yi,[1 n+2]) = B(yi,[3 n]); % mirror top and bottom boundary
j'ai exécuté cette fonction sur la matrice a :
b=BoundMirrorExpand(a),et j'obtient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 a = 0 0 0 0 255 0 0 0 0
Jusqu'ici pas de soucis.Tout fonctionne très bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 b = 255 0 255 0 255 0 0 0 0 0 255 0 255 0 255 0 0 0 0 0 255 0 255 0 255
Maintenant je voudrai appliquer cette fonction sur une image.En exécutant cette séquence :
j'obtient le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 image=imread('point.bmp'); a=boundmirrorexpand(image);
Pourquoi cette fonction s'exécute très bien avec une matrice et non avec des image bmp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ??? Assignment has more non-singleton rhs dimensions than non-singleton subscripts. Error in ==> BoundMirrorExpand at 6 B(yi,xi) = A;
Partager