src/qvdta/qvdta.h

Go to the documentation of this file.
00001 /*
00002  *      Copyright (C) 2007. PARP Research Group.
00003  *      <http://perception.inf.um.es>
00004  *      University of Murcia, Spain.
00005  *
00006  *      This file is part of the QVision library.
00007  *
00008  *      QVision is free software: you can redistribute it and/or modify
00009  *      it under the terms of the GNU Lesser General Public License as
00010  *      published by the Free Software Foundation, version 3 of the License.
00011  *
00012  *      QVision is distributed in the hope that it will be useful,
00013  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  *      GNU Lesser General Public License for more details.
00016  *
00017  *      You should have received a copy of the GNU Lesser General Public
00018  *      License along with QVision. If not, see <http://www.gnu.org/licenses/>.
00019  */
00020 
00024 
00025 #ifndef QVDTA_H
00026 #define QVDTA_H
00027 
00028 #include <QList>
00029 #include <QMap>
00030 #include <QVector>
00031 #include <QPoint>
00032 #include <iostream>
00033 #include <qvcore/qvimage.h>
00034 
00042 
00043 
00044 
00045 
00046 
00047 
00048 
00049 
00050 
00051 
00052 QVector< QVector< QPoint > > CountingSort(const QVImage<uChar, 1> &img);
00053 
00054 #ifndef DOXYGEN_IGNORE_THIS
00057 template <typename T1, typename T2> QList< QPair<T1,T2> > joinPairList(const QList<T1> &list1, const QList<T2> &list2)
00058         {
00059         QList< QPair<T1,T2> > result;
00060         for (int i = 0; i < MIN(list1.size(),list2.size()); i++)
00061                 result.append(QPair<T1,T2>(list1.at(i), list2.at(i)));
00062         return result;
00063         }
00064 
00067 template <typename T1, typename T2> QList<T1> getFirstPairList(const QList< QPair<T1,T2> > &list)
00068         {
00069         QList<T1> result;
00070         QPair<T1,T2> pair;
00071         foreach(pair, list)
00072                 result.append(pair.first);
00073         return result;
00074         }
00075 
00078 template <typename T1, typename T2> QList<T2> getSecondPairList(const QList< QPair<T1,T2> > &list)
00079         {
00080         QList<T2> result;
00081         QPair<T1,T2> pair;
00082         foreach(pair, list)
00083                 result.append(pair.second);
00084         return result;
00085         }
00086 
00089 template <typename T1, typename T2> QList<T1> convertList(QList<T2> &list)
00090         {
00091         QList<T1> result;
00092         foreach(T2 element, list)
00093                 result.append(element);
00094         return result;
00095         }
00096 
00097 #endif
00098 
00101 QList<QPointF> GetMaximalResponsePoints1(const QVImage<sFloat> &cornerResponseImage, const double threshold = 1.0);
00102 
00105 QList<QPointF> GetMaximalResponsePoints3(const QVImage<sFloat> &cornerResponseImage, const double threshold = 1.0);
00106 
00109 QList< QPair<sFloat, QPointF> > GetMaximalResponsePoints1bis(const QVImage<sFloat> &cornerResponseImage, const double threshold = 1.0);
00110 
00113 QList< QPair<sFloat, QPointF> > GetMaximalResponsePoints3bis(const QVImage<sFloat> &cornerResponseImage, const double threshold = 1.0);
00114 
00115 #endif

Generated on Thu Jul 17 17:23:27 2008 for QVision by  doxygen 1.5.3