Extract the corners of an obstacle contour (false detection removal and angle threshold).
[xsd,ysd,nsd] = NARVAL_IP_ObstCornersDR(xs,ys,ns,a)
x-coordinate of corners.
y-coordinate of corners.
length vector.
angle threshold.
updated x-coordinate of corners.
updated y-coordinate of corners.
updated length vector.
NARVAL_IP_ObstCornersDR extracts the real corners of the obstacle contour defined by current corners performed by NARVAL_IP_ObstCornersDet (false detection removal and angle threshold a). Corners coordinates are stored in [xs,ys] (updated to [xsd,ysd]). ns (updated to nsd) provides the number of corners for each obstacle.
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)); [x,y,direction,n]=NARVAL_IP_ObstCorners(Cont);//Corners detection lc=2;//correlation mode DT=3;//minimum distance between two corners Tcorel=1;//threshold Tgrad=1;//threshold [xs,ys,ns]=NARVAL_IP_ObstCornersDet(x,y,direction,n,lc,Tcorel,Tgrad,DT);//False detection removal a=0.3;//angle threshold [xsd,ysd,nsd]=NARVAL_IP_ObstCornersDR(xs,ys,ns,a);//application of NARVAL_IP_ObstCornersDR [g]=NARVAL_IP_VisGraph(xs,ys,ns,Pz);//creation of the visibility graph for [xs,ys] w3=3; g.node_x=g.node_x*z; g.node_y=g.node_y*z; NARVAL_G_ShowGraph(g,w3);//graph visualization [gs]=NARVAL_IP_VisGraph(xsd,ysd,nsd,Pz);//creation of the visibility graph for [xsd,ysd] w4=4; gs.node_x=gs.node_x*z; gs.node_y=gs.node_y*z; NARVAL_G_ShowGraph(gs,w4);//graph visualization | ![]() | ![]() |
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