M2_SETI/A4/TP_GPU-master/TP1_image/Matlab/seuil_Matlab.m
2022-12-09 09:03:22 +01:00

69 lines
1.5 KiB
Matlab

close all;
%Ouverture d'une image au format couleur
ima=single(imread('../Image/ferrari.jpg'));
ima=ima./255;
%Affichage d'une image couleur avec image
figure('name','RGB in','numbertitle','off');image(ima);
%Taille d'une image
taille=size(ima);
display(taille);
ima_r=ima(:,:,1);
ima_g=ima(:,:,2);
ima_b=ima(:,:,3);
%Affichage d'un niveau de couleur de l'image
figure('name','R','numbertitle','off');imagesc(ima_r);colormap gray %Niveau de rouge
figure('name','G','numbertitle','off');imagesc(ima_g);colormap gray %Niveau de vert
figure('name','B','numbertitle','off');imagesc(ima_b);colormap gray %Niveau de bleu
%Taille d'une image
taille=size(ima);
display(taille);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%tic toc pour mesurer le temps de calcul
disp("Seuil :");
tic;
ima_out=ima;
nr = ima_r./sqrt(ima_r.^2 + ima_b.^2 + ima_g.^2);
ima_seuil = ima.*(nr>0.7);
toc;
figure('name','RGB out','numbertitle','off');image(ima_seuil);
disp("Jaune :")
tic;
ima_jaune = ima_seuil;
ima_jaune(:,:,2) = ima_seuil(:,:,1);
toc;
figure('name','RGB out','numbertitle','off');image(ima_jaune);
disp("Reinsertion dans l'image :")
tic;
ima_out = ima - ima_seuil + ima_jaune;
figure('name','RGB out','numbertitle','off');image(ima_out);
toc;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Sauvegarde d'une image au format jpg
imwrite(ima_out,'../Image/ferrari_out.jpg','jpg');
%Sauvegarde d'une image au format raw
fid = fopen('../Image/ferrari_out.raw', 'w');
fwrite(fid, ima_out, 'single');
fclose(fid);