Matlab:transformation image r aster
Fermé
Bonjour,
je cherche a comparer deux formes présentent sur des images au format bmp.
le fond de l'image est blanc et le corps de la forme est noir.
Pour ce faire j'aimerai rasteriser ces images pour pouvoir faire l'addition des2 matrices.
Ainsi je pourrai récupérer uniquement les pixels ayant la valeur 1 ( élimination de ceux qui valent 0 ou 2).
je n'est pas besoin de l'image finale, juste de ce nombre en sortie.
si vous pouviez me fournir une méthode pour faire ceci.
par avance je vous en remercie.
mr sax
je cherche a comparer deux formes présentent sur des images au format bmp.
le fond de l'image est blanc et le corps de la forme est noir.
Pour ce faire j'aimerai rasteriser ces images pour pouvoir faire l'addition des2 matrices.
Ainsi je pourrai récupérer uniquement les pixels ayant la valeur 1 ( élimination de ceux qui valent 0 ou 2).
je n'est pas besoin de l'image finale, juste de ce nombre en sortie.
si vous pouviez me fournir une méthode pour faire ceci.
par avance je vous en remercie.
mr sax
A voir également:
- Matlab:transformation image r aster
- Courbe de tendance matlab - Forum Excel
- Primitive matlab - Forum Matlab
- Syms matlab ✓ - Forum Matlab
- Matlab quad ✓ - Forum Matlab
- Matrice matlab ✓ - Forum Matlab
4 réponses
squall289
Messages postés
100
Date d'inscription
mardi 31 mars 2009
Statut
Membre
Dernière intervention
29 mai 2009
13
7 mai 2009 à 10:23
7 mai 2009 à 10:23
Bonjour,
Je ne vois pas ce que tu veux dire par rasteriser...
Personnellement je binariserai les images, et je ferai ensuite une simple addition matricielle.
Ensuite avec une LUT parcourir l'image et ne conserver que les pixels à 1.
La fonction pour binariser est im2bw il me semble. Il y a aussi une fonction pour inverser les niveau de gris, je pense que c'est inv(I) mais je ne suis vraiment pas sur.
Cordialement,
Je ne vois pas ce que tu veux dire par rasteriser...
Personnellement je binariserai les images, et je ferai ensuite une simple addition matricielle.
Ensuite avec une LUT parcourir l'image et ne conserver que les pixels à 1.
La fonction pour binariser est im2bw il me semble. Il y a aussi une fonction pour inverser les niveau de gris, je pense que c'est inv(I) mais je ne suis vraiment pas sur.
Cordialement,
en fait je veux que chaque pixel reçoive soit la valeur 1, soit 0, en fonction
de leur couleur et que tout ceci se retrouve dans une matrice.
de leur couleur et que tout ceci se retrouve dans une matrice.
squall289
Messages postés
100
Date d'inscription
mardi 31 mars 2009
Statut
Membre
Dernière intervention
29 mai 2009
13
7 mai 2009 à 11:08
7 mai 2009 à 11:08
Je pense que je vois ce que tu veux dire !
En fait Matlab prend directement les images sous forme de matrice à la lecture, il n'y a pas besoin de faire grand chose...
Donc :
I1=imread("chemin_vers_l'image_1".bmp);
I1bw=im2bw(I1);
I2=imread("chemin_vers_l'image_2".bmp);
I2bw=im2bw(I2);
Ires=I1+I2;
[M,N]=size(Ires);
for i:M
for j:N
if (Ires(i,j)~=1)
Ires=0;
end
end
end
imshow(Ires);
Cordialement,
En fait Matlab prend directement les images sous forme de matrice à la lecture, il n'y a pas besoin de faire grand chose...
Donc :
I1=imread("chemin_vers_l'image_1".bmp);
I1bw=im2bw(I1);
I2=imread("chemin_vers_l'image_2".bmp);
I2bw=im2bw(I2);
Ires=I1+I2;
[M,N]=size(Ires);
for i:M
for j:N
if (Ires(i,j)~=1)
Ires=0;
end
end
end
imshow(Ires);
Cordialement,