1 2 3 4 5 6 7 8 9 10 11 12 13 14
| %pour desssiner le triangle.
plot([863 856 959 863],[453 468 468 453],'r-');
% maintenat il faut extraire tous les pixels d'une rectangle qui contenu le triangle.
[x,y]=meshgrid(min([863 8560 959 863]):max([863 8560 959 863]),min([453 468 468 453]):max([453 468 468 453]));
%ici on extrait seulement les pixels de triangle. rect est de type logique.
rect=inpolygon(x,y,[863 8560 959 863],[453 468 468 453]);
% ici on fait l'extraction des indices de pixels qui appartiennt au triangle(rect==1) et on colorie les pixels pour faire la difference.
indices=find(rect);
x_pixel=x(indices);
y_pixel=y(indices);
plot(x_pixel,y_pixel,'y.');
% maintenant on peut extraire les valeurs de pixels a partir de l,image im()
Valred=im(sub2ind(size(im(:,:,1)),Pixels(:,2),Pixels(:,1))); % channel red comme exemple. |
Partager