clear all; close all; % Lecture des images Im1 = imread('sweet1.pgm'); Im2 = imread('sweet2.pgm'); Im1_coul = imread('sweet_couleur1.jpg'); Im2_coul = imread('sweet_couleur2.jpg'); Im3_coul = imread('sweet_couleur3.jpg'); % Im1_coul = imread('rescaled_local_1.jpg'); % Im2_coul = imread('rescaled_local_2.jpg'); % Im3_coul = imread('rescaled_local_3.jpg'); % Im4_coul = imread('rescaled_local_4.jpg'); % Im5_coul = imread('rescaled_local_5.jpg'); % Im6_coul = imread('rescaled_local_6.jpg'); % Im7_coul = imread('rescaled_local_7.jpg'); % Im8_coul = imread('rescaled_local_8.jpg'); % Im1_coul = imread('im1.jpg'); % Im2_coul = imread('im2.jpg'); % Im3_coul = imread('im3.jpg'); % Im4_coul = imread('im4.jpg'); % Affichage des deux premières images en niveaux de gris % figure; % affichage_image(Im1,'Image 1',1,2,1); % affichage_image(Im2,'Image 2',1,2,2); % Choix des parametres TailleFenetre = 17; NbPoints = 100; k = 0.05; seuil = 0.80; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Detection des points d'interet avec Harris % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % [XY_1,Res_1] = harris(Im1,TailleFenetre,NbPoints,k); % [XY_2,Res_2] = harris(Im2,TailleFenetre,NbPoints,k); % figure; % affichage_POI(Im1,XY_1,'POI Image 1',1,2,1); % affichage_POI(Im2,XY_2,'POI Image 2',1,2,2); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Appariement des points d'interet % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % [XY_C1,XY_C2] = apparier_POI(Im1,XY_1,Im2,XY_2,TailleFenetre,seuil); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Estimation (et verification) de l'homographie % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % H = homographie(XY_C1,XY_C2); %%%%%%%%%%%%%%%%%%%%%%%%% % Calcul de la mosaique % %%%%%%%%%%%%%%%%%%%%%%%%% % Imos = mosaique(Im1,Im2,H); % figure; % affichage_image(uint8(Imos),'Mosaique obtenue a partir des 2 images initiales',1,1,1); % imwrite(uint8(Imos),'mosaique2.pgm'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Version 2 pour la reconstruction % % A DECOMMENTER QUAND MOSAIQUEBIS AURA ETE ECRITE % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Imosbis = mosaiquebis(Im1,Im2,H); % figure; % affichage_image(uint8(Imosbis),'Mosaique obtenue a partir des 2 images initiales (version 2)',1,1,1); % imwrite(uint8(Imosbis),'mosaique2_bis.pgm'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Version 3 pour la reconstruction avec les couleurs R, G et B % % A DECOMMENTER QUAND MOSAIQUECOUL AURA ETE ECRITE % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Imoscoul = mosaiquecoul(Im1_coul,Im2_coul,H); % figure; % affichage_image(uint8(Imoscoul),'Mosaique obtenue a partir des 2 images couleur initiales (version 2)',1,1,1); % imwrite(uint8(Imoscoul),'mosaique2_coul.pgm'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Version 4 pour la reconstruction avec 3 images % % en couleurs et/ou en niveaux de gris % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Imoscoul = mosaiqueN(TailleFenetre, NbPoints, k, seuil, Im1_coul, Im2_coul, Im3_coul); Imoscoul = mosaiqueNbis(TailleFenetre, NbPoints, k, seuil, 2, Im1_coul, Im2_coul, Im3_coul); figure; affichage_image(Imoscoul,'Mosaique obtenue a partir des 3 images couleur initiales (version 2)',1,1,1); % imwrite(uint8(Imoscoul),'mosaique2_coul.pgm');