summaryrefslogtreecommitdiffstats
path: root/jni/feature_stab/db_vlvm/db_feature_detection.h
diff options
context:
space:
mode:
Diffstat (limited to 'jni/feature_stab/db_vlvm/db_feature_detection.h')
-rw-r--r--jni/feature_stab/db_vlvm/db_feature_detection.h179
1 files changed, 0 insertions, 179 deletions
diff --git a/jni/feature_stab/db_vlvm/db_feature_detection.h b/jni/feature_stab/db_vlvm/db_feature_detection.h
deleted file mode 100644
index 68ffcc9ad..000000000
--- a/jni/feature_stab/db_vlvm/db_feature_detection.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*$Id: db_feature_detection.h,v 1.3 2011/06/17 14:03:30 mbansal Exp $*/
-
-#ifndef DB_FEATURE_DETECTION_H
-#define DB_FEATURE_DETECTION_H
-
-/*****************************************************************
-* Lean and mean begins here *
-*****************************************************************/
-/*!
- * \defgroup FeatureDetection Feature Detection
- */
-#include "db_utilities.h"
-#include "db_utilities_constants.h"
-#include <stdlib.h> //for NULL
-
-/*!
- * \class db_CornerDetector_f
- * \ingroup FeatureDetection
- * \brief Harris corner detector for float images.
- *
- * This class performs Harris corner extraction on *float* images managed
- * with functions in \ref LMImageBasicUtilities.
- */
-class DB_API db_CornerDetector_f
-{
-public:
- db_CornerDetector_f();
- ~db_CornerDetector_f();
-
- /*!
- * Set parameters and pre-allocate memory. Return an upper bound
- * on the number of corners detected in one frame.
- * \param im_width width
- * \param im_height height
- * \param target_nr_corners
- * \param nr_horizontal_blocks
- * \param nr_vertical_blocks
- * \param absolute_threshold
- * \param relative_threshold
- */
- unsigned long Init(int im_width,int im_height,
- int target_nr_corners=DB_DEFAULT_TARGET_NR_CORNERS,
- int nr_horizontal_blocks=DB_DEFAULT_NR_FEATURE_BLOCKS,
- int nr_vertical_blocks=DB_DEFAULT_NR_FEATURE_BLOCKS,
- double absolute_threshold=DB_DEFAULT_ABS_CORNER_THRESHOLD,
- double relative_threshold=DB_DEFAULT_REL_CORNER_THRESHOLD);
-
- /*!
- * Detect the corners.
- * x_coord and y_coord should be pre-allocated arrays of length returned by Init().
- * \param img row array pointer
- * \param x_coord corner locations
- * \param y_coord corner locations
- * \param nr_corners actual number of corners computed
- */
- void DetectCorners(const float * const *img,double *x_coord,double *y_coord,int *nr_corners) const;
- void SetAbsoluteThreshold(double a_thresh) { m_a_thresh = a_thresh; };
- void SetRelativeThreshold(double r_thresh) { m_r_thresh = r_thresh; };
-protected:
- void Clean();
- unsigned long Start(int im_width,int im_height,
- int block_width,int block_height,unsigned long area_factor,
- double absolute_threshold,double relative_threshold,int chunkwidth);
-
- int m_w,m_h,m_cw,m_bw,m_bh;
- /*Area factor holds the maximum number of corners to detect
- per 10000 pixels*/
- unsigned long m_area_factor,m_max_nr;
- double m_a_thresh,m_r_thresh;
- float *m_temp_f;
- double *m_temp_d;
- float **m_strength,*m_strength_mem;
-};
-/*!
- * \class db_CornerDetector_u
- * \ingroup FeatureDetection
- * \brief Harris corner detector for byte images.
- *
- * This class performs Harris corner extraction on *byte* images managed
- * with functions in \ref LMImageBasicUtilities.
- */
-class DB_API db_CornerDetector_u
-{
-public:
- db_CornerDetector_u();
- virtual ~db_CornerDetector_u();
-
- /*!
- Copy ctor duplicates settings.
- Memory is not copied.
- */
- db_CornerDetector_u(const db_CornerDetector_u& cd);
- /*!
- Assignment optor duplicates settings.
- Memory not copied.
- */
- db_CornerDetector_u& operator=(const db_CornerDetector_u& cd);
-
- /*!
- * Set parameters and pre-allocate memory. Return an upper bound
- * on the number of corners detected in one frame
- */
- virtual unsigned long Init(int im_width,int im_height,
- int target_nr_corners=DB_DEFAULT_TARGET_NR_CORNERS,
- int nr_horizontal_blocks=DB_DEFAULT_NR_FEATURE_BLOCKS,
- int nr_vertical_blocks=DB_DEFAULT_NR_FEATURE_BLOCKS,
- double absolute_threshold=DB_DEFAULT_ABS_CORNER_THRESHOLD,
- double relative_threshold=DB_DEFAULT_REL_CORNER_THRESHOLD);
-
- /*!
- * Detect the corners.
- * Observe that the image should be overallocated by at least 256 bytes
- * at the end.
- * x_coord and y_coord should be pre-allocated arrays of length returned by Init().
- * Specifying image mask will restrict corner output to foreground regions.
- * Foreground value can be specified using fgnd. By default any >0 mask value
- * is considered to be foreground
- * \param img row array pointer
- * \param x_coord corner locations
- * \param y_coord corner locations
- * \param nr_corners actual number of corners computed
- * \param msk row array pointer to mask image
- * \param fgnd foreground value in the mask
- */
- virtual void DetectCorners(const unsigned char * const *img,double *x_coord,double *y_coord,int *nr_corners,
- const unsigned char * const * msk=NULL, unsigned char fgnd=255) const;
-
- /*!
- Set absolute feature threshold
- */
- virtual void SetAbsoluteThreshold(double a_thresh) { m_a_thresh = a_thresh; };
- /*!
- Set relative feature threshold
- */
- virtual void SetRelativeThreshold(double r_thresh) { m_r_thresh = r_thresh; };
-
- /*!
- Extract corners from a pre-computed strength image.
- \param strength Harris strength image
- \param x_coord corner locations
- \param y_coord corner locations
- \param nr_corners actual number of corners computed
- */
- virtual void ExtractCorners(float ** strength, double *x_coord, double *y_coord, int *nr_corners);
-protected:
- virtual void Clean();
- /*The absolute threshold to this function should be 16.0 times
- normal*/
- unsigned long Start(int im_width,int im_height,
- int block_width,int block_height,unsigned long area_factor,
- double absolute_threshold,double relative_threshold);
-
- int m_w,m_h,m_bw,m_bh;
- /*Area factor holds the maximum number of corners to detect
- per 10000 pixels*/
- unsigned long m_area_factor,m_max_nr;
- double m_a_thresh,m_r_thresh;
- int *m_temp_i;
- double *m_temp_d;
- float **m_strength,*m_strength_mem;
-};
-
-#endif /*DB_FEATURE_DETECTION_H*/