Je débute en matlab, et je vous demande une vérification des deux codes:
Mon premier code :
Ou bien mon deuxième code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 im1=imread(image1.jpg); im2=imread(image2.jpg); s=size(im2) ; image = zeros(s(1:2)); Z= uint8(im2); R= Z(:,:,1); G = Z(:,:,2); B = Z(:,:,3); res = (R>95) & (G>40) & (B>20) & max(im2, [], 3)-min(im2, [], 3)>15 & abs(R-G)>15 & R>B; image = res;
Donc mon question est ce que la même chose de faire deux boucles For (i et j) pour tester chaque pixels ou bien de faire comme indique les deux points : avec le premier code ??
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 im1=imread(image1.jpg); im2=imread(image2.jpg); s=size(im2) ; Z= uint8(im2); image= zeros(s(1:2)); for i=1:s(1)%parcour row for j=1:s(2)%parcour col R= Z(i,j,1); G = Z(i,j,2); B = Z(i,j,3); if((R>95) & (G>40) & (B>20) & max(im2, [], 3)-min(im2, [], 3)>15 & abs(R-G)>15 & R>B) image(i,j) = 1; else image(i,j) = 0; end end end
Partager