34 lines
1.2 KiB
Matlab
34 lines
1.2 KiB
Matlab
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% fonction renvoyant les niveaux de gris du voisinage de chaque point en ligne
|
|
|
|
function voisins = voisinage(I, xyPt, TailleFenetre)
|
|
% ENTREES
|
|
% I : l'image
|
|
% xyPt : les coordonnees des points dont nous cherchons le voisinage.
|
|
% ATTENTION : on fait l'hypothese qu'il n'y a aucun point sur les bords
|
|
% TailleFenetre : La taille de la fenêtre de correlation correspond
|
|
% a TailleFenetre x TailleFenetre
|
|
% SORTIE
|
|
% voisins : une matrice contenant pour chaque ligne (= chaque point),
|
|
% le voisinage du point associe
|
|
% Nombre de points pour lesquels leur voisinage est cherche
|
|
npt = size(xyPt, 1);
|
|
|
|
% Initialisation
|
|
voisins = zeros(npt, TailleFenetre * TailleFenetre);
|
|
|
|
% Calcul de la demi-fenetre de correlation
|
|
K = floor(TailleFenetre / 2);
|
|
|
|
% Pour chaque point
|
|
for i = 1:npt
|
|
% On recupere les coordonnees du point
|
|
x = xyPt(i, 1);
|
|
y = xyPt(i, 2);
|
|
|
|
% On recupere le voisinage du point
|
|
voisins(i, :) = reshape(I(y - K:y + K, x - K:x + K), 1, TailleFenetre * TailleFenetre);
|
|
end
|
|
|
|
end
|