clear; close all; taille_ecran = get(0,'ScreenSize'); L = taille_ecran(3); H = taille_ecran(4); % Choix du jeu de données : % load Donnees/vase_brillant_bis; load Donnees/visage; % load Donnees/Buddha; % Correction des données : I = correction(I,masque); [nb_lignes,nb_colonnes] = size(masque); [n,p] = size(I); exterieur = find(masque==0); % Extérieur du domaine de reconstruction % Affichage des images : figure('Name','Donnees de stereophotometrie','Position',[0.5*L,0.66*H,0.5*L,0.4*H]); colormap gray; n_c = min(4,ceil(sqrt(n))); n_l = min(2,ceil(n/n_c)); for i = 1:n_c*n_l img = reshape(I(i,:),nb_lignes,nb_colonnes); subplot(n_l,n_c,i); imagesc(img); hold on; axis image; axis off; title(['$\mathbf{s}_{' num2str(i,'%2d') '}$'],'Interpreter','Latex','FontSize',20); end % Estimation aléatoire des normales et de l'albédo : [rho_estime,N_estime] = estimation_non_calibree(I,masque); % Intégration du champ de normales : N_estime(3,find(abs(N_estime(3,:))<0.1)) = Inf; % Les pentes trop fortes sont tronquées p_estime = reshape(-N_estime(1,:)./N_estime(3,:),size(masque)); q_estime = reshape(N_estime(2,:)./N_estime(3,:),size(masque)); p_estime(exterieur) = 0; q_estime(exterieur) = 0; z_estime = integration_SCS(q_estime,p_estime); % Ambiguïté concave/convexe : if (z_estime(floor(nb_lignes/2),floor(nb_colonnes/2))