Merge remote-tracking branch 'upstream/3.4' into merge-3.4

This commit is contained in:
Alexander Alekhin
2020-12-11 19:27:20 +00:00
24 changed files with 983 additions and 224 deletions
+9 -4
View File
@@ -1025,15 +1025,20 @@ void ORB_Impl::detectAndCompute( InputArray _image, InputArray _mask,
Mat imagePyramid, maskPyramid;
UMat uimagePyramid, ulayerInfo;
int level_dy = image.rows + border*2;
Point level_ofs(0,0);
Size bufSize((cvRound(image.cols/getScale(0, firstLevel, scaleFactor)) + border*2 + 15) & -16, 0);
float level0_inv_scale = 1.0f / getScale(0, firstLevel, scaleFactor);
size_t level0_width = (size_t)cvRound(image.cols * level0_inv_scale);
size_t level0_height = (size_t)cvRound(image.rows * level0_inv_scale);
Size bufSize((int)alignSize(level0_width + border*2, 16), 0); // TODO change alignment to 64
int level_dy = (int)level0_height + border*2;
Point level_ofs(0, 0);
for( level = 0; level < nLevels; level++ )
{
float scale = getScale(level, firstLevel, scaleFactor);
layerScale[level] = scale;
Size sz(cvRound(image.cols/scale), cvRound(image.rows/scale));
float inv_scale = 1.0f / scale;
Size sz(cvRound(image.cols * inv_scale), cvRound(image.rows * inv_scale));
Size wholeSize(sz.width + border*2, sz.height + border*2);
if( level_ofs.x + wholeSize.width > bufSize.width )
{