89 lines
3.3 KiB
Mathematica
89 lines
3.3 KiB
Mathematica
|
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');
|