Browse Source

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

pull/3032/head
Alexander Alekhin 4 years ago
parent
commit
b83d965efd
  1. 2
      modules/aruco/README.md
  2. 10
      modules/aruco/misc/python/test/test_aruco.py
  3. 2
      modules/aruco/samples/detector_params.yml
  4. 0
      modules/aruco/tutorials/aruco_detection/images/markers.jpg
  5. 0
      modules/bioinspired/include/opencv2/bioinspired/transientareassegmentationmodule.hpp
  6. 0
      modules/cnn_3dobj/CMakeLists.txt
  7. 0
      modules/cnn_3dobj/FindCaffe.cmake
  8. 0
      modules/cnn_3dobj/FindGlog.cmake
  9. 0
      modules/cnn_3dobj/README.md
  10. 0
      modules/cnn_3dobj/doc/cnn_3dobj.bib
  11. 0
      modules/cnn_3dobj/include/opencv2/cnn_3dobj.hpp
  12. 0
      modules/cnn_3dobj/samples/classify.cpp
  13. 0
      modules/cnn_3dobj/samples/data/3Dmodel/ant.ply
  14. 0
      modules/cnn_3dobj/samples/data/3Dmodel/ape.ply
  15. 0
      modules/cnn_3dobj/samples/data/3Dmodel/bunny.ply
  16. 0
      modules/cnn_3dobj/samples/data/3Dmodel/cow.ply
  17. 0
      modules/cnn_3dobj/samples/data/3Dmodel/horse.ply
  18. 0
      modules/cnn_3dobj/samples/data/3Dmodel/plane.ply
  19. 0
      modules/cnn_3dobj/samples/data/images_mean/triplet_mean.binaryproto
  20. 0
      modules/cnn_3dobj/samples/data/label_all.txt
  21. 0
      modules/cnn_3dobj/samples/model_analysis.cpp
  22. 0
      modules/cnn_3dobj/samples/sphereview_data.cpp
  23. 0
      modules/cnn_3dobj/samples/video.cpp
  24. 0
      modules/cnn_3dobj/src/cnn_feature.cpp
  25. 0
      modules/cnn_3dobj/src/cnn_sphereview.cpp
  26. 0
      modules/cnn_3dobj/src/precomp.hpp
  27. 0
      modules/cnn_3dobj/test/test_cnn_3dobj_feature_extract.cpp
  28. 0
      modules/cnn_3dobj/test/test_main.cpp
  29. 0
      modules/cnn_3dobj/test/test_precomp.hpp
  30. 0
      modules/cnn_3dobj/testdata/cv/3d_triplet_iter_30000.caffemodel
  31. 0
      modules/cnn_3dobj/testdata/cv/3d_triplet_testIMG.prototxt
  32. 0
      modules/cnn_3dobj/testdata/cv/4_78.png
  33. 0
      modules/cnn_3dobj/testdata/cv/caffemodel_list.txt
  34. 0
      modules/cnn_3dobj/tutorials/data_generation/data_generation.markdown
  35. 0
      modules/cnn_3dobj/tutorials/feature_classification/classify.markdown
  36. 0
      modules/cnn_3dobj/tutorials/model_analysis/model_analysis.markdown
  37. 0
      modules/cnn_3dobj/tutorials/table_of_content_cnn_3dobj.markdown
  38. 0
      modules/datasets/src/tinyxml2/tinyxml2.cpp
  39. 0
      modules/datasets/src/tinyxml2/tinyxml2.h
  40. 0
      modules/dnn_objdetect/tutorials/images/cat.jpg
  41. 0
      modules/dnn_objdetect/tutorials/images/multi_det.jpg
  42. 0
      modules/face/samples/CMakeLists.txt
  43. 0
      modules/face/samples/etc/at.txt
  44. 0
      modules/face/samples/facerec_eigenfaces.cpp
  45. 0
      modules/face/samples/facerec_fisherfaces.cpp
  46. 0
      modules/face/samples/facerec_lbph.cpp
  47. 0
      modules/face/samples/facerec_save_load.cpp
  48. 0
      modules/face/samples/facerec_video.cpp
  49. 0
      modules/face/tutorials/face_recognition/facerec_video/facerec_video.png
  50. 0
      modules/face/tutorials/face_recognition/gender_classification/arnie_10_10_200_200.jpg
  51. 0
      modules/face/tutorials/face_recognition/gender_classification/arnie_20_20_200_200.jpg
  52. 0
      modules/face/tutorials/face_recognition/gender_classification/arnie_20_20_70_70.jpg
  53. 0
      modules/face/tutorials/face_recognition/gender_classification/arnie_30_30_200_200.jpg
  54. 0
      modules/face/tutorials/face_recognition/gender_classification/clooney_set.png
  55. 0
      modules/face/tutorials/face_recognition/gender_classification/fisherface_0.png
  56. 0
      modules/face/tutorials/face_recognition/gender_classification/fisherface_reconstruction_0.png
  57. 0
      modules/face/tutorials/face_recognition/gender_classification/mean.png
  58. 0
      modules/face/tutorials/face_recognition/img/at_database_small_sample_size.png
  59. 0
      modules/face/tutorials/face_recognition/img/eigenface_reconstruction_opencv.png
  60. 0
      modules/face/tutorials/face_recognition/img/eigenfaces_opencv.png
  61. 0
      modules/face/tutorials/face_recognition/img/fisherface_reconstruction_opencv.png
  62. 0
      modules/face/tutorials/face_recognition/img/fisherfaces_opencv.png
  63. 0
      modules/face/tutorials/face_recognition/img/lbp/lbp.png
  64. 0
      modules/face/tutorials/face_recognition/img/lbp/lbp_yale.jpg
  65. 0
      modules/face/tutorials/face_recognition/img/lbp/patterns.png
  66. 2
      modules/line_descriptor/src/LSDDetector.cpp
  67. 0
      modules/rgbd/include/opencv2/rgbd.hpp
  68. 0
      modules/rgbd/src/odometry.cpp
  69. 2
      modules/saliency/include/opencv2/saliency/saliencySpecializedClasses.hpp
  70. 2
      modules/superres/src/btv_l1.cpp
  71. 2
      modules/tracking/src/trackerCSRT.cpp
  72. 8
      modules/tracking/src/trackerCSRTScaleEstimation.cpp
  73. 4
      modules/xfeatures2d/src/msd.cpp
  74. 3
      modules/ximgproc/src/graphsegmentation.cpp

2
modules/aruco/README.md

@ -7,6 +7,6 @@ ArUco markers are easy to detect pattern grids that yield up to 1024 different p
**ChArUco** **ChArUco**
ArUco markers were improved by interspersing them inside a checkerboard called ChArUco. Checkerboard corner intersectionsa provide more stable corners because the edge location bias on one square is countered by the opposite edge orientation in the connecting square. By interspersing ArUco markers inside the checkerboard, each checkerboard corner gets a label which enables it to be used in complex calibration or pose scenarios where you cannot see all the corners of the checkerboard. ArUco markers were improved by interspersing them inside a checkerboard called ChArUco. Checkerboard corner intersections provide more stable corners because the edge location bias on one square is countered by the opposite edge orientation in the connecting square. By interspersing ArUco markers inside the checkerboard, each checkerboard corner gets a label which enables it to be used in complex calibration or pose scenarios where you cannot see all the corners of the checkerboard.
The smallest ChArUco board is 5 checkers and 4 markers called a "Diamond Marker". The smallest ChArUco board is 5 checkers and 4 markers called a "Diamond Marker".

10
modules/aruco/misc/python/test/test_aruco.py

@ -13,19 +13,19 @@ class aruco_test(NewOpenCVTests):
def test_idsAccessibility(self): def test_idsAccessibility(self):
ids = np.array([[elem] for elem in range(17)]) ids = np.arange(17)
rev_ids = np.array(list(reversed(ids))) rev_ids = ids[::-1]
aruco_dict = cv.aruco.Dictionary_get(cv.aruco.DICT_5X5_250) aruco_dict = cv.aruco.Dictionary_get(cv.aruco.DICT_5X5_250)
board = cv.aruco.CharucoBoard_create(7, 5, 1, 0.5, aruco_dict) board = cv.aruco.CharucoBoard_create(7, 5, 1, 0.5, aruco_dict)
self.assertTrue(np.equal(board.ids, ids).all()) np.testing.assert_array_equal(board.ids.squeeze(), ids)
board.ids = rev_ids board.ids = rev_ids
self.assertTrue(np.equal(board.ids, rev_ids).all()) np.testing.assert_array_equal(board.ids.squeeze(), rev_ids)
board.setIds(ids) board.setIds(ids)
self.assertTrue(np.equal(board.ids, ids).all()) np.testing.assert_array_equal(board.ids.squeeze(), ids)
with self.assertRaises(cv.error): with self.assertRaises(cv.error):
board.setIds(np.array([0])) board.setIds(np.array([0]))

2
modules/aruco/samples/detector_params.yml

@ -8,7 +8,7 @@ adaptiveThreshConstant: 7
minMarkerPerimeterRate: 0.03 minMarkerPerimeterRate: 0.03
maxMarkerPerimeterRate: 4.0 maxMarkerPerimeterRate: 4.0
polygonalApproxAccuracyRate: 0.05 polygonalApproxAccuracyRate: 0.05
minCornerDistance: 10.0 minCornerDistanceRate: 0.05
minDistanceToBorder: 3 minDistanceToBorder: 3
minMarkerDistance: 10.0 minMarkerDistance: 10.0
minMarkerDistanceRate: 0.05 minMarkerDistanceRate: 0.05

0
modules/aruco/tutorials/aruco_detection/images/markers.jpg

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

0
modules/bioinspired/include/opencv2/bioinspired/transientareassegmentationmodule.hpp

0
modules/cnn_3dobj/CMakeLists.txt

0
modules/cnn_3dobj/FindCaffe.cmake

0
modules/cnn_3dobj/FindGlog.cmake

0
modules/cnn_3dobj/README.md

0
modules/cnn_3dobj/doc/cnn_3dobj.bib

0
modules/cnn_3dobj/include/opencv2/cnn_3dobj.hpp

0
modules/cnn_3dobj/samples/classify.cpp

0
modules/cnn_3dobj/samples/data/3Dmodel/ant.ply

0
modules/cnn_3dobj/samples/data/3Dmodel/ape.ply

0
modules/cnn_3dobj/samples/data/3Dmodel/bunny.ply

0
modules/cnn_3dobj/samples/data/3Dmodel/cow.ply

0
modules/cnn_3dobj/samples/data/3Dmodel/horse.ply

0
modules/cnn_3dobj/samples/data/3Dmodel/plane.ply

0
modules/cnn_3dobj/samples/data/images_mean/triplet_mean.binaryproto

0
modules/cnn_3dobj/samples/data/label_all.txt

0
modules/cnn_3dobj/samples/model_analysis.cpp

0
modules/cnn_3dobj/samples/sphereview_data.cpp

0
modules/cnn_3dobj/samples/video.cpp

0
modules/cnn_3dobj/src/cnn_feature.cpp

0
modules/cnn_3dobj/src/cnn_sphereview.cpp

0
modules/cnn_3dobj/src/precomp.hpp

0
modules/cnn_3dobj/test/test_cnn_3dobj_feature_extract.cpp

0
modules/cnn_3dobj/test/test_main.cpp

0
modules/cnn_3dobj/test/test_precomp.hpp

0
modules/cnn_3dobj/testdata/cv/3d_triplet_iter_30000.caffemodel vendored

0
modules/cnn_3dobj/testdata/cv/3d_triplet_testIMG.prototxt vendored

0
modules/cnn_3dobj/testdata/cv/4_78.png vendored

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

0
modules/cnn_3dobj/testdata/cv/caffemodel_list.txt vendored

0
modules/cnn_3dobj/tutorials/data_generation/data_generation.markdown

0
modules/cnn_3dobj/tutorials/feature_classification/classify.markdown

0
modules/cnn_3dobj/tutorials/model_analysis/model_analysis.markdown

0
modules/cnn_3dobj/tutorials/table_of_content_cnn_3dobj.markdown

0
modules/datasets/src/tinyxml2/tinyxml2.cpp

0
modules/datasets/src/tinyxml2/tinyxml2.h

0
modules/dnn_objdetect/tutorials/images/cat.jpg

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

0
modules/dnn_objdetect/tutorials/images/multi_det.jpg

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 106 KiB

0
modules/face/samples/CMakeLists.txt

0
modules/face/samples/etc/at.txt

0
modules/face/samples/facerec_eigenfaces.cpp

0
modules/face/samples/facerec_fisherfaces.cpp

0
modules/face/samples/facerec_lbph.cpp

0
modules/face/samples/facerec_save_load.cpp

0
modules/face/samples/facerec_video.cpp

0
modules/face/tutorials/face_recognition/facerec_video/facerec_video.png

Before

Width:  |  Height:  |  Size: 290 KiB

After

Width:  |  Height:  |  Size: 290 KiB

0
modules/face/tutorials/face_recognition/gender_classification/arnie_10_10_200_200.jpg

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

0
modules/face/tutorials/face_recognition/gender_classification/arnie_20_20_200_200.jpg

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

0
modules/face/tutorials/face_recognition/gender_classification/arnie_20_20_70_70.jpg

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

0
modules/face/tutorials/face_recognition/gender_classification/arnie_30_30_200_200.jpg

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

0
modules/face/tutorials/face_recognition/gender_classification/clooney_set.png

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 92 KiB

0
modules/face/tutorials/face_recognition/gender_classification/fisherface_0.png

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

0
modules/face/tutorials/face_recognition/gender_classification/fisherface_reconstruction_0.png

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

0
modules/face/tutorials/face_recognition/gender_classification/mean.png

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

0
modules/face/tutorials/face_recognition/img/at_database_small_sample_size.png

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

0
modules/face/tutorials/face_recognition/img/eigenface_reconstruction_opencv.png

Before

Width:  |  Height:  |  Size: 171 KiB

After

Width:  |  Height:  |  Size: 171 KiB

0
modules/face/tutorials/face_recognition/img/eigenfaces_opencv.png

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

0
modules/face/tutorials/face_recognition/img/fisherface_reconstruction_opencv.png

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 111 KiB

0
modules/face/tutorials/face_recognition/img/fisherfaces_opencv.png

Before

Width:  |  Height:  |  Size: 281 KiB

After

Width:  |  Height:  |  Size: 281 KiB

0
modules/face/tutorials/face_recognition/img/lbp/lbp.png

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

0
modules/face/tutorials/face_recognition/img/lbp/lbp_yale.jpg

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

0
modules/face/tutorials/face_recognition/img/lbp/patterns.png

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

2
modules/line_descriptor/src/LSDDetector.cpp

@ -170,7 +170,7 @@ void LSDDetector::detectImpl( const Mat& imageSrc, std::vector<KeyLine>& keyline
int class_counter = -1; int class_counter = -1;
for ( int octaveIdx = 0; octaveIdx < (int) lines_lsd.size(); octaveIdx++ ) for ( int octaveIdx = 0; octaveIdx < (int) lines_lsd.size(); octaveIdx++ )
{ {
float octaveScale = pow( (float)scale, octaveIdx ); float octaveScale = std::pow((float)scale, (float)octaveIdx);
for ( int k = 0; k < (int) lines_lsd[octaveIdx].size(); k++ ) for ( int k = 0; k < (int) lines_lsd[octaveIdx].size(); k++ )
{ {
KeyLine kl; KeyLine kl;

0
modules/rgbd/include/opencv2/rgbd.hpp

0
modules/rgbd/src/odometry.cpp

2
modules/saliency/include/opencv2/saliency/saliencySpecializedClasses.hpp

@ -455,7 +455,7 @@ private:
inline static float LoG( float x, float y, float delta ) inline static float LoG( float x, float y, float delta )
{ {
float d = - ( x * x + y * y ) / ( 2 * delta * delta ); float d = - ( x * x + y * y ) / ( 2 * delta * delta );
return -1.0f / ( (float) ( CV_PI ) * pow( delta, 4 ) ) * ( 1 + d ) * exp( d ); return -1.0f / ( (float) ( CV_PI ) * (delta*delta*delta*delta) ) * ( 1 + d ) * exp( d );
} // Laplacian of Gaussian } // Laplacian of Gaussian
// Read matrix from binary file // Read matrix from binary file

2
modules/superres/src/btv_l1.cpp

@ -356,7 +356,7 @@ namespace
for (int m = 0, ind = 0; m <= ksize; ++m) for (int m = 0, ind = 0; m <= ksize; ++m)
{ {
for (int l = ksize; l + m >= 0; --l, ++ind) for (int l = ksize; l + m >= 0; --l, ++ind)
btvWeights[ind] = pow(alpha_f, std::abs(m) + std::abs(l)); btvWeights[ind] = static_cast<float>(pow(alpha_f, std::abs(m) + std::abs(l)));
} }
} }

2
modules/tracking/src/trackerCSRT.cpp

@ -511,7 +511,7 @@ void TrackerCSRTImpl::init(InputArray image_, const Rect& boundingBox)
sqrt(original_target_size.width * original_target_size.height))); sqrt(original_target_size.width * original_target_size.height)));
template_size.width = template_size.height = template_size.width = template_size.height =
(template_size.width + template_size.height) / 2.0f; (template_size.width + template_size.height) / 2.0f;
rescale_ratio = sqrt(pow(params.template_size,2) / (template_size.width * template_size.height)); rescale_ratio = sqrt((params.template_size * params.template_size) / (template_size.width * template_size.height));
if(rescale_ratio > 1) { if(rescale_ratio > 1) {
rescale_ratio = 1; rescale_ratio = 1;
} }

8
modules/tracking/src/trackerCSRTScaleEstimation.cpp

@ -91,10 +91,10 @@ DSST::DSST(const Mat &image,
scale_sigma = static_cast<float>(sqrt(scales_count) * sigma_factor); scale_sigma = static_cast<float>(sqrt(scales_count) * sigma_factor);
min_scale_factor = pow(scale_step, min_scale_factor = static_cast<float>(pow(scale_step,
cvCeil(log(max(5.0 / template_size.width, 5.0 / template_size.height)) / log(scale_step))); cvCeil(log(max(5.0 / template_size.width, 5.0 / template_size.height)) / log(scale_step))));
max_scale_factor = powf(scale_step, max_scale_factor = static_cast<float>(pow(scale_step,
static_cast<float>(cvFloor(log(min((float)image.rows / (float)bounding_box.width, cvFloor(log(min((float)image.rows / (float)bounding_box.width,
(float)image.cols / (float)bounding_box.height)) / log(scale_step)))); (float)image.cols / (float)bounding_box.height)) / log(scale_step))));
ys = Mat(1, scales_count, CV_32FC1); ys = Mat(1, scales_count, CV_32FC1);
float ss, sf; float ss, sf;

4
modules/xfeatures2d/src/msd.cpp

@ -303,7 +303,7 @@ namespace cv
p_res.y = j + xr + 0.5f; p_res.y = j + xr + 0.5f;
} else } else
{ {
float effectiveScaleFactor = std::pow(m_scale_factor, scale); float effectiveScaleFactor = std::pow(m_scale_factor, (float)scale);
p_res.x = (i + xc + 0.5f) * effectiveScaleFactor; p_res.x = (i + xc + 0.5f) * effectiveScaleFactor;
p_res.y = (j + xr + 0.5f) * effectiveScaleFactor; p_res.y = (j + xr + 0.5f) * effectiveScaleFactor;
@ -691,7 +691,7 @@ namespace cv
continue; continue;
} }
kp_temp.response = saliency[r][j * cW + i]; kp_temp.response = saliency[r][j * cW + i];
kp_temp.size = (m_patch_radius * 2.0f + 1) * std::pow(m_scale_factor, r); kp_temp.size = (m_patch_radius * 2.0f + 1) * std::pow(m_scale_factor, (float)r);
kp_temp.octave = r; kp_temp.octave = r;
if (m_compute_orientation) if (m_compute_orientation)
kp_temp.angle = computeOrientation(m_scaleSpace[r], i, j, orientPoints); kp_temp.angle = computeOrientation(m_scaleSpace[r], i, j, orientPoints);

3
modules/ximgproc/src/graphsegmentation.cpp

@ -194,7 +194,8 @@ namespace cv {
float tmp_total = 0; float tmp_total = 0;
for ( int channel = 0; channel < nb_channels; channel++) { for ( int channel = 0; channel < nb_channels; channel++) {
tmp_total += pow(p[j * nb_channels + channel] - p2[j2 * nb_channels + channel], 2); float tmp_diff = p[j * nb_channels + channel] - p2[j2 * nb_channels + channel];
tmp_total += tmp_diff * tmp_diff;
} }
float diff = 0; float diff = 0;

Loading…
Cancel
Save