Extract the corners of the ith object of an obstacle (Multi-Rectangles).
[xsi,ysi] = NARVAL_IP_CornerObject(xs,ys,ns,i)
x-coordinate of corners.
y-coordinate of corners.
quantity of corners per object (vector).
object index.
x-coordinate of corners of the ith object.
y-coordinate of corners of the ith object.
NARVAL_IP_CornerObject extracts the corners of the ith object of an obstacle created with Multi-Rectangles (see NARVAL_IP_RectObstacles). After a false detection scheme, real corners coordinates are stored in [xs,ys]. ns 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); grayplot(1:Contx,1:Conty,Cont); xset("colormap",graycolormap(128)); w3=3;//window index scf(w3); clf(w3); [Dim]=NARVAL_IP_DistanceMap(Pz,Cont);//creation of the distance map [Dimx,Dimy]=size(Dim);//image size grayplot(1:L/z,1:L/z,Dim);//graph visualization xset("colormap",graycolormap(128)); HL1=[0 -1 0;-1 4 -1;0 -1 0];//kernel 1 HL2=[-1 -1 -1;-1 8 -1;-1 -1 -1];//kernel 2 [Dim1]=NARVAL_IP_Conv2(Dim,HL2);//convolution [Dim1x,Dim1y]=size(Dim1);//image size w4=4;//window index scf(w4); clf(w4); grayplot(1:Dim1x,1:Dim1y,Dim1); xset("colormap",graycolormap(128)); wm=3;//parameter [cornerz]=NARVAL_IP_Moravec(Pz,wm);//extraction of corners T=(max(cornerz)+min(cornerz))/2;//threshold [cornerT]=NARVAL_IP_MoravecT(cornerz,T);//application of a threshold [cornerTx,cornerTy]=size(cornerT);//image size w5=5;//window index scf(w5); clf(w5); grayplot(1:cornerTx,1:cornerTy,cornerT);//graph visualization xset("colormap",graycolormap(128)); [x,y,direction,n]=NARVAL_IP_ObstCorners(Cont);//Corners detection lc=2;//parameters DT=3; Tcorel=1; Tgrad=1; [xs,ys,ns]=NARVAL_IP_ObstCornersDet(x,y,direction,n,lc,Tcorel,Tgrad,DT);//remove false detections for kl=1:length(ns) [xsi,ysi]=NARVAL_IP_CornerObject(xs,ys,ns,kl);//application of NARVAL_IP_CornerObject [xsi;ysi] end | ![]() | ![]() |
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