1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| clear all;
close all;
pkg load image;
im=imread("image3.jpg"); %image à traiter
taille = size(im); %dimension de l'image
%------------------------------------------------------------------------------%
%-------------------------------Etape 1----------------------------------------%
%------------------------------------------------------------------------------%
%Composantes R V B
c_r = zeros(size(im),class(im));
c_r(:,:,1)=im(:,:,1);
c_v = zeros(size(im),class(im));
c_v(:,:,2)=im(:,:,2);
c_b = zeros(size(im),class(im));
c_b(:,:,3)=im(:,:,3);
%Application du filtre passe haut
k=fspecial('unsharp',0.2); %renforcement des frontières entre les facettes
c_r_ph=imfilter(c_r,k,'same');
c_v_ph=imfilter(c_v,k,'same');
c_b_ph=imfilter(c_b,k,'same');
%Conversion en niveau de gris puis somme des composantes
rg=rgb2gray(c_r_ph);
vg=rgb2gray(c_v_ph);
bg=rgb2gray(c_b_ph);
%Application du seuillage aux images en niveau de gris
l1=graythresh(rg); %calcul du niveau de seuil adapté
Rgs=im2bw(rg,0.1); %composante R filtrée et seuillée en ndg
l2=graythresh(vg); %calcul du niveau de seuil adapté
Vgs=im2bw(vg,0.1); %composante V filtrée et seuillée en ndg
l3=graythresh(bg); %calcul du niveau de seuil adapté
Bgs=im2bw(bg,0.1); %composante B filtrée et seuillée en ndg
imreduite= bwareaopen(Rgs + Vgs + Bgs,500);
labels= bwlabel(imreduite);
figure(1)
imshow(vislabels(labels)); |
Partager