<< NARVAL_IP_Moravec NARVAL NARVAL_IP_NR2RowCol >>

NARVAL >> NARVAL > NARVAL_IP_MoravecT

NARVAL_IP_MoravecT

Apply a specific threshold on the Moravec corner detection algorithm.

Calling Sequence

[ct] = NARVAL_IP_MoravecT(c,t)

Parameters

c :

corner matrix.

t :

threshold.

ct :

updated corner matrix.

Description

NARVAL_IP_MoravecT applies the specific threshold t on the corner matrix c generated by the Moravec corner detection algorithm (WIKIPEDIA). The output is stored in ct.

This is one of the earliest corner detection algorithms and defines a corner to be a point with low self-similarity. The algorithm tests each pixel in the image to see if a corner is present, by considering how similar a patch centered on the pixel is to nearby, largely overlapping patches. The similarity is measured by taking the sum of squared differences (SSD) between the two patches. A lower number indicates more similarity.

If the pixel is in a region of uniform intensity, then the nearby patches will look similar. If the pixel is on an edge, then nearby patches in a direction perpendicular to the edge will look quite different, but nearby patches in a direction parallel to the edge will result only in a small change. If the pixel is on a feature with variation in all directions, then none of the nearby patches will look similar.

The corner strength is defined as the smallest SSD between the patch and its neighbors (horizontal, vertical and on the two diagonals). If this number is locally maximal, then a feature of interest is present.

As pointed out by Moravec, one of the main problems with this operator is that it is not isotropic: if an edge is present that is not in the direction of the neighbours, then it will not be detected as an interest point.

Examples

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));
w3=3;//window index
scf(w3);
clf(w3);
wm=3
[cornerz]=NARVAL_IP_Moravec(Pz,wm);//Moravec algorithm
[cornerzx,cornerzy]=size(cornerz);//image size
grayplot(1:cornerzx,1:cornerzy,cornerz);//graph visualization
xset("colormap",graycolormap(128));
T=min(cornerz)+(max(cornerz)-min(cornerz))*3/4;//threshold
[cornerT]=NARVAL_IP_MoravecT(cornerz,T);//application of NARVAL_IP_MoravecT
[cornerTx,cornerTy]=size(cornerT);//image size
w4=4;//window index
scf(w4);
clf(w4);
grayplot(1:cornerTx,1:cornerTy,cornerT);//graph visualization
xset("colormap",graycolormap(128));

Authors

Foued Melakessou

Contact

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

Home Page


<< NARVAL_IP_Moravec NARVAL NARVAL_IP_NR2RowCol >>