30
#ifndef OPENCV_FLANN_SAMPLING_H_
31
#define OPENCV_FLANN_SAMPLING_H_
42Matrix<T> random_sample(Matrix<T>& srcMatrix,
long
size,
bool
remove =
false)
44
Matrix<T> newSet(
new
T[size * srcMatrix.cols], size,srcMatrix.cols);
47
for
(
long
i=0; i<size; ++i) {
48
long
r = rand_int((
int)(srcMatrix.rows-i));
51
std::copy(src, src+srcMatrix.cols, dest);
53
src = srcMatrix[srcMatrix.rows-i-1];
55
std::copy(src, src+srcMatrix.cols, dest);
59
srcMatrix.rows -= size;
65Matrix<T> random_sample(
const
Matrix<T>& srcMatrix,
size_t
size)
67
UniqueRandom rand((
int)srcMatrix.rows);
68
Matrix<T> newSet(
new
T[size * srcMatrix.cols], size,srcMatrix.cols);
71
for
(
size_t
i=0; i<size; ++i) {
75
std::copy(src, src+srcMatrix.cols, dest);