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; clc
M = 1024;
N = 1024;
world_map=NaN(M,N,2);
rail_1 = rgb2gray(imread('img2.bmp'));
% Je décale l'une des images
dx = 12;
dy = 15;
[M1,N1] = size(rail_1);
% Je centre ma première image sur la carte globale
world_map(floor(M/2-M1/2):floor(M/2+(M1/2-1)),floor(N/2-N1/2):floor(N/2+(N1/2-1)),1) = rail_1;
% Je décale la seconde image sur la carte globale
world_map(floor(M/2-M1/2-dx):floor(M/2+(M1/2-1-dx)),floor(N/2-N1/2-dy):floor(N/2+(N1/2-1)-dy),2) = rail_1;
figure
h1=imagesc(world_map(:,:,1));
hold on
h2=imagesc(world_map(:,:,2));
set(h2,'AlphaData',0.5)
colormap gray
% je recherche la zone de recouvrement
overlap = find(~isnan(world_map(:,:,1)) & ~isnan(world_map(:,:,2)));
rail_1 = world_map(:,:,1);
rail_2 = world_map(:,:,2);
% je calcule l'histogramme
histo = zeros(256,256);
for i=1:256
for j=1:256
histo(i,j) = numel(find(rail_1(overlap)==i-1 & rail_2(overlap)==j-1));
end
end |
Partager