Wondercoll
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Macros | Functions | Variables
cvfeatureselect.cpp File Reference
#include "_cv.h"

Macros

#define cmp_features(f1, f2)   (*(f1) > *(f2))
 

Functions

 CV_FUNCNAME ("cvGoodFeaturesToTrack")
 
 if (corner_count)
 
 CV_CALL (img=cvGetMat(img,&stub,&coi1))
 
 if (eig)
 
 if (tmp)
 
 if (mask)
 
 if (coi1!=0||coi2!=0||coi3!=0) CV_ERROR(CV_BadCOI
 
 if (CV_MAT_CN(img->type)!=1||CV_MAT_CN(eig->type)!=1||CV_MAT_CN(tmp->type)!=1) CV_ERROR(CV_BadNumChannels
 
 if (CV_MAT_DEPTH(tmp->type)!=CV_32F||CV_MAT_DEPTH(eig->type)!=CV_32F) CV_ERROR(CV_BadDepth
 
 if (!corners||!corner_count) CV_ERROR(CV_StsNullPtr
 
 if (max_count<=0) CV_ERROR(CV_StsBadArg
 
 if (quality_level<=0||min_distance< 0) CV_ERROR(CV_StsBadArg
 
 if (use_harris)
 
 CV_CALL (cvMinMaxLoc(eig, 0,&max_val, 0, 0, mask))
 
 CV_CALL (cvThreshold(eig, eig, max_val *quality_level, 0, CV_THRESH_TOZERO))
 
 CV_CALL (cvDilate(eig, tmp))
 
 for (y=1, k=0;y< size.height-1;y++)
 
 icvSortFeatures (ptr_data, k, 0)
 
 for (i=0;i< k;i++)
 

Variables

static void * eigImage
 
static void void * tempImage
 
static void void CvPoint2D32fcorners
 
static void void CvPoint2D32f intcorner_count = count
 
static void void CvPoint2D32f
int double 
quality_level
 
static void void CvPoint2D32f
int double double 
min_distance
 
static void void CvPoint2D32f
int double double const void * 
maskImage
 
static void void CvPoint2D32f
int double double const void
int 
block_size
 
static void void CvPoint2D32f
int double double const void
int int 
use_harris
 
static void void CvPoint2D32f
int double double const void
int int double 
harris_k
 
CvMat_tmpImg = 0
 
 __BEGIN__
 
double max_val = 0
 
int max_count = 0
 
int count = 0
 
int x
 
int y
 
int i
 
int k = 0
 
int min_dist = cvRound( min_distance * min_distance )
 
int eig_step = eig->step / sizeof(eig_data[0])
 
int tmp_step = tmp->step / sizeof(tmp_data[0])
 
CvPointptr = (CvPoint *) corners
 
inteig_data = 0
 
inttmp_data = 0
 
int ** ptr_data = 0
 
ucharmask_data = 0
 
int mask_step = 0
 
CvSize size = cvGetMatSize( img )
 
int coi1 = 0
 
int coi2 = 0
 
int coi3 = 0
 
CvMat stub
 
CvMatimg = (CvMat*)image
 
CvMat eig_stub
 
CvMateig = (CvMat*)eigImage
 
CvMat tmp_stub
 
CvMattmp = (CvMat*)tempImage
 
CvMat mask_stub
 
CvMatmask = (CvMat*)maskImage
 
 else
 
 cvUnsupportedFormat
 
maximal corners number is non positive
 
 __END__
 
cvReleaseMat_eigImg
 

Macro Definition Documentation

#define cmp_features (   f1,
  f2 
)    (*(f1) > *(f2))

Function Documentation

CV_CALL ( img  = cvGetMat(img,&stub,&coi1))
CV_CALL ( cvMinMaxLoc(eig, 0,&max_val, 0, 0, mask )
CV_CALL ( cvDilate(eig, tmp )
CV_FUNCNAME ( "cvGoodFeaturesToTrack"  )
for ( y  = 1)
for ( )
icvSortFeatures ( ptr_data  ,
k  ,
 
)
if ( corner_count  )
if ( eig  )
if ( tmp  )
if ( mask  )
if ( coi1!  = 0 || coi2 != 0 || coi3 != 0)
if ( CV_MAT_CN(img->type)!  = 1 || CV_MAT_CN(eig->type) != 1 || CV_MAT_CN(tmp->type) != 1)
if ( CV_MAT_DEPTH(tmp->type)!  = CV_32F || CV_MAT_DEPTH(eig->type) != CV_32F)
if ( !corners||!  corner_count)
if ( max_count<=  0)
if ( )
if ( use_harris  )

Variable Documentation

__BEGIN__
__END__
cvReleaseMat & _eigImg
cvReleaseMat & _tmpImg = 0
void void CvPoint2D32f int double double const void int block_size
int coi1 = 0
int coi2 = 0
int coi3 = 0
* corner_count = count
void void CvPoint2D32f* corners
int count = 0
cvUnsupportedFormat
eig = (CvMat*)eigImage
eig_data = 0
eig_step = eig->step / sizeof(eig_data[0])
CvMat eig_stub
void* eigImage
else
Initial value:
void void CvPoint2D32f int double double const void int int double harris_k
Initial value:
{
int i
CvMat * img = (CvMat*)image
const char const char int int int const void const void int const void int const void void int *ldc const char const char int int int * k = 0
CvMat * mask = (CvMat*)maskImage
uchar* mask_data = 0
int mask_step = 0
CvMat mask_stub
void void CvPoint2D32f int double double const void* maskImage
int max_count = 0
double max_val = 0
void void CvPoint2D32f int double double min_distance
quality level or min distance are non positive
const char const void * ptr = (CvPoint *) corners
ptr_data = 0
void void CvPoint2D32f int double quality_level
CvMat stub
void void* tempImage
tmp = (CvMat*)tempImage
tmp_data = 0
tmp_step = tmp->step / sizeof(tmp_data[0])
CvMat tmp_stub
void void CvPoint2D32f int double double const void int int use_harris
const float float int len const double double int len const float float int n const float float int n const float const float * x
const float float int len const double double int len const float float int n const float float int n const float * y