Matlab:transformation image r aster
mrsax
-
benkouider -
benkouider -
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
- Gnu octave matlab - Télécharger - Édition & Programmation
- Programmer avec MATLAB ✓ - Forum Matlab
- Termes de Matlab ✓ - Forum Matlab
- Problème diffusion matlab - Forum Matlab
- Boucle for matlab - Forum Matlab
4 réponses
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.
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,