ossimOpenCVGoodFeaturesToTrack Class Reference

OpenCV Good Features To Track. More...

#include <ossimOpenCVGoodFeaturesToTrack.h>

List of all members.

Public Member Functions

 ossimOpenCVGoodFeaturesToTrack (ossimObject *owner=NULL)
ossimString getShortName () const
ossimString getLongName () const
virtual ossimRefPtr
< ossimImageData > 
getTile (const ossimIrect &tileRect, ossim_uint32 resLevel=0)
virtual void initialize ()
virtual ossimScalarType getOutputScalarType () const
ossim_uint32 getNumberOfOutputBands () const
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)

Public Attributes

std::vector< ossimDpt > theKeyPoints

Protected Member Functions

void runUcharTransformation (ossimImageData *tile)

Protected Attributes

ossimRefPtr< ossimImageData > theTile
double theQualityLevel
double theMinDistance
int theBlockSize
int theHarrisFlag
double theHarrisFreeParameter

Detailed Description

OpenCV Good Features To Track.

Determines strong corners on an image.

It only supports a 8-bit or floating-point 32-bit single-channel image.

Parameters:
quality_level Multiplier for the max/min eigenvalue; specifies the minimal accepted quality of image corners
min_distance Limit, specifying the minimum possible distance between the returned corners; Euclidian distance is used
block_size Size of the averaging block, passed to the underlying CornerMinEigenVal or CornerHarris used by the function
use_harris If nonzero, Harris operator (CornerHarris) is used instead of default CornerMinEigenVal
k Free parameter of Harris detector; used only if useHarris!=0

If useHarris=0, the function finds the corners with big eigenvalues in the image. The function first calculates the minimal eigenvalue for every source image pixel using the CornerMinEigenVal function and stores them in eigImage. Then it performs non-maxima suppression (only the local maxima in 3x3 neighborhood are retained). The next step rejects the corners with the minimal eigenvalue less than qualityLevel·max(eigImage(x,y)). Finally, the function ensures that the distance between any two corners is not smaller than minDistance. The weaker corners (with a smaller min eigenvalue) that are too close to the stronger corners are rejected.

If useHarris=1, the function runs the Harris edge detector on the image. Similarly to CornerMinEigenVal, for each pixel it calculates a 2x2 gradient covariation matrix M over a blockSizexblockSize neighborhood. Then, it stores

$ det(M) - k \, trace(M)^2 $

to the destination image. Corners in the image can be found as the local maxima of the destination image.


Member Function Documentation

bool ossimOpenCVGoodFeaturesToTrack::loadState ( const ossimKeywordlist &  kwl,
const char *  prefix = 0 
) [virtual]

Method to the load (recreate) the state of an object from a keyword list. Return true if ok or false on error.


The documentation for this class was generated from the following files:
 All Classes Functions Variables

Generated on Thu May 13 09:23:33 2010 for opencv-ossim-plugin by  doxygen 1.6.1