mirror of
https://github.com/opencv/opencv.git
synced 2025-08-06 14:36:36 +08:00
features2d: don't use rand(), because it is not thread-safe
Results are not stable with srand()
This commit is contained in:
parent
0bd357e7ec
commit
8be1ba708e
@ -2077,7 +2077,7 @@ void generateDescriptorSubsample(Mat& sampleList, Mat& comparisons, int nbits,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
srand(1024);
|
RNG rng(1024);
|
||||||
Mat_<int> comps = Mat_<int>(nchannels * (int)ceil(nbits / (float)nchannels), 2);
|
Mat_<int> comps = Mat_<int>(nchannels * (int)ceil(nbits / (float)nchannels), 2);
|
||||||
comps = 1000;
|
comps = 1000;
|
||||||
|
|
||||||
@ -2089,7 +2089,7 @@ void generateDescriptorSubsample(Mat& sampleList, Mat& comparisons, int nbits,
|
|||||||
samples = -1;
|
samples = -1;
|
||||||
|
|
||||||
for (int i = 0; i < npicks; i++) {
|
for (int i = 0; i < npicks; i++) {
|
||||||
int k = rand() % (fullM.rows - i);
|
int k = rng(fullM.rows - i);
|
||||||
if (i < 6) {
|
if (i < 6) {
|
||||||
// Force use of the coarser grid values and comparisons
|
// Force use of the coarser grid values and comparisons
|
||||||
k = i;
|
k = i;
|
||||||
|
Loading…
Reference in New Issue
Block a user