edgePointList.cols = func(edges, dx, dy, edgePointList.ptr<unsigned int>(0), edgePointList.ptr<float>(1));
}
- #define votes_cmp_gt(l1, l2) (aux[l1].x > aux[l2].x)
- static CV_IMPLEMENT_QSORT_EX( sortIndexies, int, votes_cmp_gt, const int3* )
+ struct IndexCmp
+ {
+ const int3* aux;
+
+ explicit IndexCmp(const int3* _aux) : aux(_aux) {}
+
+ bool operator ()(int l1, int l2) const
+ {
+ return aux[l1].x > aux[l2].x;
+ }
+ };
void GHT_Pos::filterMinDist()
{
indexies.resize(posCount);
for (int i = 0; i < posCount; ++i)
indexies[i] = i;
- sortIndexies(&indexies[0], posCount, &oldVoteBuf[0]);
+ std::sort(indexies.begin(), indexies.end(), IndexCmp(&oldVoteBuf[0]));
newPosBuf.clear();
newVoteBuf.clear();