Extract the neighborhood of a contour pixel of an obstacle.
[mat,nei,dch] = NARVAL_IP_PixelNeighCont(x,y,Im,C)
line index.
column index.
binary image.
contour matrix.
image neighborhood of defined pixel.
contour neighborhood of defined pixel.
number of modifications along the linear neighborhood.
NARVAL_IP_PixelNeighCont extracts the neighborhood of the pixel [x,y] from the contour C of the obstacle Im. For each pixel in the neighborhood of [x,y], we have 8 neighbors represented by their relative coordinates [-1 -1 0 1 1 1 0 -1 ; 0 1 1 1 0 -1 -1 -1 ]. For each successive neighbors, we add the absolute values of their difference Im(N(i))-Im(N(i+1)) (cycle) to dch that gives an idea about the number of changes of the image along the linear neighborhood nei of the pixel [x,y].
dt=getdate(); seed=dt(10); rand('seed',seed);//initialization of the random values generator no=4;//quantity of obstacles (rectangle) L=1000;//squared area side hm=100;//minimal height hM=250;//maximal height wm=100;//minimal width wM=250;//maximal width Al=[0 %pi/2 %pi -%pi/2];//available angles for obstacles [Xs,Ys,X,Y,H,W,A]=NARVAL_IP_RectObstacles(no,L,hm,hM,wm,wM);//generation of obstacles [P]=NARVAL_IP_PotentialRot(X,Y,H,W,A,L);//generation of obstacle matrix z=10;//zoom factor o=2;// 1=mean, 2=max, 3=min, 4=median Pz=NARVAL_IP_MRA(P,z,o);//scale modification [Pzx,Pzy]=size(Pz);//image size w1=1;//window index w2=2;//window index scf(w1); clf(w1); grayplot(1:Pzx,1:Pzy,Pz);//graph visualization xset("colormap",graycolormap(128)); scf(w2); clf(w2); [PEz]=NARVAL_IP_Erosion(Pz);//contour performance Cont=Pz-PEz;//contour 1 [Contx,Conty]=size(Cont);//image size grayplot(1:Contx,1:Conty,Cont);//graph visualization xset("colormap",graycolormap(128)); [Indx Indy]=find(Cont==1);//coordinates of contour points [mat,nei,dch]=NARVAL_IP_PixelNeighCont(Indx(1),Indy(1),Pz,Cont);//application of NARVAL_IP_PixelNeighCont mat nei dch | ![]() | ![]() |
Dr. Foued Melakessou
Research Associate
Interdisciplinary Centre for Security, Reliability and Trust
Room F106
University of Luxembourg
6, rue Coudenhove Kalergi
L-1359 Luxembourg-Kirchberg
E-mail: foued.melakessou@uni.lu
Tel: (+352) 46 66 44 5346