PARP Research Group University of Murcia, Spain


src/qvdta/qvdta.cpp

Go to the documentation of this file.
00001 /*
00002  *      Copyright (C) 2007, 2008. 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 #include <stdio.h>
00026 #include <stdlib.h>
00027 #include <iostream>
00028 
00029 #include <qvipp.h>
00030 #include <qvdta.h>
00031 
00032 QVector< QVector< QPoint > > CountingSort(const QVImage<uChar, 1> &image)
00033         {
00034         QVector< QVector <QPoint> > result(256);
00035         const QVector<int> histogram = HistogramRange(image);
00036 
00037         for (int k=0; k<256; k++)
00038                 result[k].reserve(histogram[k]);
00039 
00040         QVIMAGE_INIT_READ(uChar,image);
00041         for(uInt row = 0; row < image.getRows(); row++)
00042                 for(uInt col = 0; col < image.getCols(); col++)
00043                         result[QVIMAGE_PIXEL(image, col, row,0)].append(QPoint(col, row));
00044         
00045         return result;
00046         }
00047 
00048 



QVision framework. PARP research group, copyright 2007, 2008.