Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __HELPER_HPP__
00020 #define __HELPER_HPP__
00021
00022 #include "opencv2/core/core.hpp"
00023
00024 #include <vector>
00025 #include <set>
00026
00027 using namespace std;
00028
00029
00030 template<typename _Tp>
00031 inline vector<_Tp>remove_dups(const vector<_Tp>& src)
00032 {
00033 typedef typename set<_Tp>::const_iterator constSetIterator;
00034 typedef typename vector<_Tp>::const_iterator constVecIterator;
00035 set<_Tp>set_elems;
00036 for (constVecIterator it = src.begin(); it != src.end(); ++it)
00037 set_elems.insert(*it);
00038 vector<_Tp>elems;
00039 for (constSetIterator it = set_elems.begin(); it != set_elems.end(); ++it)
00040 elems.push_back(*it);
00041 return elems;
00042 }
00043
00044
00045 namespace cv
00046 {
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056 bool isSymmetric(InputArray src, double eps = 1E-16);
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067 Mat argsort(InputArray src, bool ascending = true);
00068
00069
00070
00071 Mat histc(InputArray src, int minVal = 0, int maxVal = 255, bool normed = false);
00072
00073
00074 template<typename _Tp>
00075 inline void readFileNodeList(const FileNode& fn, vector<_Tp>& result)
00076 {
00077 if (fn.type() == FileNode::SEQ)
00078 {
00079 for (FileNodeIterator it = fn.begin(); it != fn.end();)
00080 {
00081 _Tp item;
00082 it >> item;
00083 result.push_back(item);
00084 }
00085 }
00086 }
00087
00088
00089 template<typename _Tp>
00090 inline void writeFileNodeList(FileStorage& fs, const string& name, const vector<_Tp>& items)
00091 {
00092
00093 typedef typename vector<_Tp>::const_iterator constVecIterator;
00094
00095 fs << name << "[";
00096 for (constVecIterator it = items.begin(); it != items.end(); ++it)
00097 {
00098 fs << *it;
00099 }
00100 fs << "]";
00101 }
00102
00103
00104
00105
00106 void sortMatrixColumnsByIndices(InputArray src, InputArray indices, OutputArray dst);
00107
00108
00109 Mat sortMatrixColumnsByIndices(InputArray src, InputArray indices);
00110
00111
00112
00113
00114 void sortMatrixRowsByIndices(InputArray src, InputArray indices, OutputArray dst);
00115
00116
00117 Mat sortMatrixRowsByIndices(InputArray src, InputArray indices);
00118
00119
00120 Mat asRowMatrix(InputArrayOfArrays src, int rtype, double alpha = 1, double beta = 0);
00121
00122
00123 Mat asColumnMatrix(InputArrayOfArrays src, int rtype, double alpha = 1, double beta = 0);
00124
00125 }
00126
00127 #endif