harrislike.h

00001 /*
00002 
00003     This file is part of the FAST-ER machine learning system.
00004     Copyright (C) 2008  Edward Rosten and Los Alamos National Laboratory
00005 
00006     This program is free software; you can redistribute it and/or modify
00007     it under the terms of the GNU General Public License as published by
00008     the Free Software Foundation; either version 2 of the License, or
00009     (at your option) any later version.
00010 
00011     This program is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014     GNU General Public License for more details.
00015 
00016     You should have received a copy of the GNU General Public License along
00017     with this program; if not, write to the Free Software Foundation, Inc.,
00018     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
00019 */
00020 #ifndef HARRISLIKE_H
00021 #define HARRISLIKE_H
00022 
00023 #include <cvd/image.h>
00024 #include <cvd/byte.h>
00025 #include <vector>
00026 #include <utility>
00027 
00028 #include "detectors.h"
00029 ///Class wrapping the Harris detector.
00030 ///@ingroup gDetect
00031 struct ShiTomasiDetect: public DetectN
00032 {
00033     ///Detect corners
00034     ///@param i Image in which to detect corners
00035     ///@param c Detected corners are inserted in to this container
00036     ///@param N Number of corners to detect
00037 
00038     void operator()(const CVD::Image<CVD::byte>& i, std::vector<CVD::ImageRef>& c, unsigned int N) const;
00039 };
00040 
00041 ///Class wrapping the Shi-Tomasi detector.
00042 ///@ingroup gDetect
00043 struct HarrisDetect: public DetectN
00044 {
00045     ///Detect corners
00046     ///@param i Image in which to detect corners
00047     ///@param c Detected corners are inserted in to this container
00048     ///@param N Number of corners to detect
00049 
00050     void operator()(const CVD::Image<CVD::byte>& i, std::vector<CVD::ImageRef>& c, unsigned int N)const;
00051 };
00052 
00053 ///Detect Harris corners
00054 ///@ingroup gDetect
00055 ///@param i Image in which to detect corners
00056 ///@param c Detected corners and strengths are inserted in to this container
00057 ///@param N Number of corners to detect
00058 ///@param blur Standard deviation of blur to use
00059 ///@param sigmas Blur using sigmas standard deviations
00060 void HarrisDetector(const CVD::Image<float>& i, std::vector<std::pair<float, CVD::ImageRef> >& c, unsigned int N, float blur, float sigmas);
00061 
00062 #endif

Generated on Mon Mar 2 12:47:12 2009 for FAST-ER by  doxygen 1.5.3