#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++) | |
#define cmp_features | ( | f1, | |
f2 | |||
) | (*(f1) > *(f2)) |
CV_CALL | ( | cvMinMaxLoc(eig, 0,&max_val, 0, 0, mask) | ) |
CV_CALL | ( | cvThreshold(eig, eig, max_val *quality_level, 0, CV_THRESH_TOZERO) | ) |
CV_FUNCNAME | ( | "cvGoodFeaturesToTrack" | ) |
for | ( | y | = 1 | ) |
for | ( | ) |
if | ( | corner_count | ) |
if | ( | eig | ) |
if | ( | tmp | ) |
if | ( | mask | ) |
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 | ) |
__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_data = 0 |
CvMat eig_stub |
void* eigImage |
int i |
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 |
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 |
min_dist = cvRound( min_distance * min_distance ) |
void void CvPoint2D32f int double double min_distance |
quality level or min distance are non positive |
ptr_data = 0 |
void void CvPoint2D32f int double quality_level |
size = cvGetMatSize( img ) |
CvMat stub |
void void* tempImage |
tmp_data = 0 |
CvMat tmp_stub |
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 |