#include <classifiers/sift.h>
Inheritance diagram for firevision::SiftClassifier:
Public Member Functions | |
SiftClassifier (const char *features_file, unsigned int pixel_width, unsigned int pixel_height, int kdtree_bbf_max_nn_chks=200, float nn_sq_dist_ratio_thr=0.49, int flags=0) | |
Constructor. | |
virtual | ~SiftClassifier () |
Destructor. | |
virtual std::list< ROI > * | classify () |
Classify image. |
This class provides a classifier that uses OpenCV to detect objects in a given image by matching features using SIFT. The objects are reported back as regions of interest. Each ROI contains an object.
This code is based on the sift package provided by Rob Hess. at http://web.engr.oregonstate.edu/~hess/
Definition at line 48 of file sift.h.
firevision::SiftClassifier::SiftClassifier | ( | const char * | object_file, | |
unsigned int | pixel_width, | |||
unsigned int | pixel_height, | |||
int | kdtree_bbf_max_nn_chks = 200 , |
|||
float | nn_sq_dist_ratio_thr = 0.49 , |
|||
int | flags = 0 | |||
) |
Constructor.
object_file | file that contains the object to detect | |
pixel_width | width of images that will be processed | |
pixel_height | height of images that will be processed | |
kdtree_bbf_max_nn_chks | maximum number of keypoint NN candidates to check during BBF search | |
nn_sq_dist_ratio_thr | threshold on squared ratio of distances between NN and 2nd NN | |
flags | flags, not used yet. |
Definition at line 78 of file sift.cpp.
References fawkes::TimeTracker::add_class(), fawkes::TimeTracker::ping_end(), and fawkes::TimeTracker::ping_start().
firevision::SiftClassifier::~SiftClassifier | ( | ) | [virtual] |
std::list< ROI > * firevision::SiftClassifier::classify | ( | ) | [virtual] |
Classify image.
The current buffer is processed and scanned for the features the classifier has been written and initialized for. It returns a list of disjunct regions of interest.
Implements firevision::Classifier.
Definition at line 140 of file sift.cpp.
References firevision::Classifier::_height, firevision::Classifier::_src, firevision::Classifier::_width, firevision::BGR, firevision::convert(), fawkes::TimeTracker::ping_end(), fawkes::TimeTracker::ping_start(), fawkes::TimeTracker::print_to_stdout(), and firevision::YUV422_PLANAR.