diff --git a/modules/aruco/README.md b/modules/aruco/README.md index d40ae78f2..9ed16270f 100644 --- a/modules/aruco/README.md +++ b/modules/aruco/README.md @@ -7,6 +7,6 @@ ArUco markers are easy to detect pattern grids that yield up to 1024 different p **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". diff --git a/modules/aruco/misc/python/test/test_aruco.py b/modules/aruco/misc/python/test/test_aruco.py index 474aa87ec..836d5ce08 100644 --- a/modules/aruco/misc/python/test/test_aruco.py +++ b/modules/aruco/misc/python/test/test_aruco.py @@ -13,19 +13,19 @@ class aruco_test(NewOpenCVTests): def test_idsAccessibility(self): - ids = np.array([[elem] for elem in range(17)]) - rev_ids = np.array(list(reversed(ids))) + ids = np.arange(17) + rev_ids = ids[::-1] aruco_dict = cv.aruco.Dictionary_get(cv.aruco.DICT_5X5_250) 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 - self.assertTrue(np.equal(board.ids, rev_ids).all()) + np.testing.assert_array_equal(board.ids.squeeze(), rev_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): board.setIds(np.array([0])) diff --git a/modules/aruco/samples/detector_params.yml b/modules/aruco/samples/detector_params.yml index 6f804e500..ca3f74d92 100644 --- a/modules/aruco/samples/detector_params.yml +++ b/modules/aruco/samples/detector_params.yml @@ -8,7 +8,7 @@ adaptiveThreshConstant: 7 minMarkerPerimeterRate: 0.03 maxMarkerPerimeterRate: 4.0 polygonalApproxAccuracyRate: 0.05 -minCornerDistance: 10.0 +minCornerDistanceRate: 0.05 minDistanceToBorder: 3 minMarkerDistance: 10.0 minMarkerDistanceRate: 0.05 diff --git a/modules/aruco/tutorials/aruco_detection/images/markers.jpg b/modules/aruco/tutorials/aruco_detection/images/markers.jpg old mode 100755 new mode 100644 diff --git a/modules/bioinspired/include/opencv2/bioinspired/transientareassegmentationmodule.hpp b/modules/bioinspired/include/opencv2/bioinspired/transientareassegmentationmodule.hpp old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/CMakeLists.txt b/modules/cnn_3dobj/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/FindCaffe.cmake b/modules/cnn_3dobj/FindCaffe.cmake old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/FindGlog.cmake b/modules/cnn_3dobj/FindGlog.cmake old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/README.md b/modules/cnn_3dobj/README.md old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/doc/cnn_3dobj.bib b/modules/cnn_3dobj/doc/cnn_3dobj.bib old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/include/opencv2/cnn_3dobj.hpp b/modules/cnn_3dobj/include/opencv2/cnn_3dobj.hpp old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/samples/classify.cpp b/modules/cnn_3dobj/samples/classify.cpp old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/samples/data/3Dmodel/ant.ply b/modules/cnn_3dobj/samples/data/3Dmodel/ant.ply old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/samples/data/3Dmodel/ape.ply b/modules/cnn_3dobj/samples/data/3Dmodel/ape.ply old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/samples/data/3Dmodel/bunny.ply b/modules/cnn_3dobj/samples/data/3Dmodel/bunny.ply old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/samples/data/3Dmodel/cow.ply b/modules/cnn_3dobj/samples/data/3Dmodel/cow.ply old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/samples/data/3Dmodel/horse.ply b/modules/cnn_3dobj/samples/data/3Dmodel/horse.ply old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/samples/data/3Dmodel/plane.ply b/modules/cnn_3dobj/samples/data/3Dmodel/plane.ply old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/samples/data/images_mean/triplet_mean.binaryproto b/modules/cnn_3dobj/samples/data/images_mean/triplet_mean.binaryproto old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/samples/data/label_all.txt b/modules/cnn_3dobj/samples/data/label_all.txt old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/samples/model_analysis.cpp b/modules/cnn_3dobj/samples/model_analysis.cpp old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/samples/sphereview_data.cpp b/modules/cnn_3dobj/samples/sphereview_data.cpp old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/samples/video.cpp b/modules/cnn_3dobj/samples/video.cpp old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/src/cnn_feature.cpp b/modules/cnn_3dobj/src/cnn_feature.cpp old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/src/cnn_sphereview.cpp b/modules/cnn_3dobj/src/cnn_sphereview.cpp old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/src/precomp.hpp b/modules/cnn_3dobj/src/precomp.hpp old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/test/test_cnn_3dobj_feature_extract.cpp b/modules/cnn_3dobj/test/test_cnn_3dobj_feature_extract.cpp old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/test/test_main.cpp b/modules/cnn_3dobj/test/test_main.cpp old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/test/test_precomp.hpp b/modules/cnn_3dobj/test/test_precomp.hpp old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/testdata/cv/3d_triplet_iter_30000.caffemodel b/modules/cnn_3dobj/testdata/cv/3d_triplet_iter_30000.caffemodel old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/testdata/cv/3d_triplet_testIMG.prototxt b/modules/cnn_3dobj/testdata/cv/3d_triplet_testIMG.prototxt old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/testdata/cv/4_78.png b/modules/cnn_3dobj/testdata/cv/4_78.png old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/testdata/cv/caffemodel_list.txt b/modules/cnn_3dobj/testdata/cv/caffemodel_list.txt old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/tutorials/data_generation/data_generation.markdown b/modules/cnn_3dobj/tutorials/data_generation/data_generation.markdown old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/tutorials/feature_classification/classify.markdown b/modules/cnn_3dobj/tutorials/feature_classification/classify.markdown old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/tutorials/model_analysis/model_analysis.markdown b/modules/cnn_3dobj/tutorials/model_analysis/model_analysis.markdown old mode 100755 new mode 100644 diff --git a/modules/cnn_3dobj/tutorials/table_of_content_cnn_3dobj.markdown b/modules/cnn_3dobj/tutorials/table_of_content_cnn_3dobj.markdown old mode 100755 new mode 100644 diff --git a/modules/datasets/src/tinyxml2/tinyxml2.cpp b/modules/datasets/src/tinyxml2/tinyxml2.cpp old mode 100755 new mode 100644 diff --git a/modules/datasets/src/tinyxml2/tinyxml2.h b/modules/datasets/src/tinyxml2/tinyxml2.h old mode 100755 new mode 100644 diff --git a/modules/dnn_objdetect/tutorials/images/cat.jpg b/modules/dnn_objdetect/tutorials/images/cat.jpg old mode 100755 new mode 100644 diff --git a/modules/dnn_objdetect/tutorials/images/multi_det.jpg b/modules/dnn_objdetect/tutorials/images/multi_det.jpg old mode 100755 new mode 100644 diff --git a/modules/face/samples/CMakeLists.txt b/modules/face/samples/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/modules/face/samples/etc/at.txt b/modules/face/samples/etc/at.txt old mode 100755 new mode 100644 diff --git a/modules/face/samples/facerec_eigenfaces.cpp b/modules/face/samples/facerec_eigenfaces.cpp old mode 100755 new mode 100644 diff --git a/modules/face/samples/facerec_fisherfaces.cpp b/modules/face/samples/facerec_fisherfaces.cpp old mode 100755 new mode 100644 diff --git a/modules/face/samples/facerec_lbph.cpp b/modules/face/samples/facerec_lbph.cpp old mode 100755 new mode 100644 diff --git a/modules/face/samples/facerec_save_load.cpp b/modules/face/samples/facerec_save_load.cpp old mode 100755 new mode 100644 diff --git a/modules/face/samples/facerec_video.cpp b/modules/face/samples/facerec_video.cpp old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/facerec_video/facerec_video.png b/modules/face/tutorials/face_recognition/facerec_video/facerec_video.png old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/gender_classification/arnie_10_10_200_200.jpg b/modules/face/tutorials/face_recognition/gender_classification/arnie_10_10_200_200.jpg old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/gender_classification/arnie_20_20_200_200.jpg b/modules/face/tutorials/face_recognition/gender_classification/arnie_20_20_200_200.jpg old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/gender_classification/arnie_20_20_70_70.jpg b/modules/face/tutorials/face_recognition/gender_classification/arnie_20_20_70_70.jpg old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/gender_classification/arnie_30_30_200_200.jpg b/modules/face/tutorials/face_recognition/gender_classification/arnie_30_30_200_200.jpg old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/gender_classification/clooney_set.png b/modules/face/tutorials/face_recognition/gender_classification/clooney_set.png old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/gender_classification/fisherface_0.png b/modules/face/tutorials/face_recognition/gender_classification/fisherface_0.png old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/gender_classification/fisherface_reconstruction_0.png b/modules/face/tutorials/face_recognition/gender_classification/fisherface_reconstruction_0.png old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/gender_classification/mean.png b/modules/face/tutorials/face_recognition/gender_classification/mean.png old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/img/at_database_small_sample_size.png b/modules/face/tutorials/face_recognition/img/at_database_small_sample_size.png old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/img/eigenface_reconstruction_opencv.png b/modules/face/tutorials/face_recognition/img/eigenface_reconstruction_opencv.png old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/img/eigenfaces_opencv.png b/modules/face/tutorials/face_recognition/img/eigenfaces_opencv.png old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/img/fisherface_reconstruction_opencv.png b/modules/face/tutorials/face_recognition/img/fisherface_reconstruction_opencv.png old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/img/fisherfaces_opencv.png b/modules/face/tutorials/face_recognition/img/fisherfaces_opencv.png old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/img/lbp/lbp.png b/modules/face/tutorials/face_recognition/img/lbp/lbp.png old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/img/lbp/lbp_yale.jpg b/modules/face/tutorials/face_recognition/img/lbp/lbp_yale.jpg old mode 100755 new mode 100644 diff --git a/modules/face/tutorials/face_recognition/img/lbp/patterns.png b/modules/face/tutorials/face_recognition/img/lbp/patterns.png old mode 100755 new mode 100644 diff --git a/modules/line_descriptor/src/LSDDetector.cpp b/modules/line_descriptor/src/LSDDetector.cpp index 2e4b75dc7..6d1a64742 100644 --- a/modules/line_descriptor/src/LSDDetector.cpp +++ b/modules/line_descriptor/src/LSDDetector.cpp @@ -170,7 +170,7 @@ void LSDDetector::detectImpl( const Mat& imageSrc, std::vector& keyline int class_counter = -1; 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++ ) { KeyLine kl; diff --git a/modules/rgbd/include/opencv2/rgbd.hpp b/modules/rgbd/include/opencv2/rgbd.hpp old mode 100755 new mode 100644 diff --git a/modules/rgbd/src/odometry.cpp b/modules/rgbd/src/odometry.cpp old mode 100755 new mode 100644 diff --git a/modules/saliency/include/opencv2/saliency/saliencySpecializedClasses.hpp b/modules/saliency/include/opencv2/saliency/saliencySpecializedClasses.hpp index c3149bfac..580f6f384 100644 --- a/modules/saliency/include/opencv2/saliency/saliencySpecializedClasses.hpp +++ b/modules/saliency/include/opencv2/saliency/saliencySpecializedClasses.hpp @@ -455,7 +455,7 @@ private: inline static float LoG( float x, float y, float 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 // Read matrix from binary file diff --git a/modules/superres/src/btv_l1.cpp b/modules/superres/src/btv_l1.cpp index 312749163..184a0f3ac 100644 --- a/modules/superres/src/btv_l1.cpp +++ b/modules/superres/src/btv_l1.cpp @@ -356,7 +356,7 @@ namespace for (int m = 0, ind = 0; m <= ksize; ++m) { for (int l = ksize; l + m >= 0; --l, ++ind) - btvWeights[ind] = pow(alpha_f, std::abs(m) + std::abs(l)); + btvWeights[ind] = static_cast(pow(alpha_f, std::abs(m) + std::abs(l))); } } diff --git a/modules/tracking/src/trackerCSRT.cpp b/modules/tracking/src/trackerCSRT.cpp index 1b3f48aa7..0af55731a 100644 --- a/modules/tracking/src/trackerCSRT.cpp +++ b/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))); template_size.width = template_size.height = (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) { rescale_ratio = 1; } diff --git a/modules/tracking/src/trackerCSRTScaleEstimation.cpp b/modules/tracking/src/trackerCSRTScaleEstimation.cpp index 221d1ee64..cc5d96df9 100644 --- a/modules/tracking/src/trackerCSRTScaleEstimation.cpp +++ b/modules/tracking/src/trackerCSRTScaleEstimation.cpp @@ -91,10 +91,10 @@ DSST::DSST(const Mat &image, scale_sigma = static_cast(sqrt(scales_count) * sigma_factor); - min_scale_factor = pow(scale_step, - cvCeil(log(max(5.0 / template_size.width, 5.0 / template_size.height)) / log(scale_step))); - max_scale_factor = powf(scale_step, - static_cast(cvFloor(log(min((float)image.rows / (float)bounding_box.width, + min_scale_factor = static_cast(pow(scale_step, + cvCeil(log(max(5.0 / template_size.width, 5.0 / template_size.height)) / log(scale_step)))); + max_scale_factor = static_cast(pow(scale_step, + cvFloor(log(min((float)image.rows / (float)bounding_box.width, (float)image.cols / (float)bounding_box.height)) / log(scale_step)))); ys = Mat(1, scales_count, CV_32FC1); float ss, sf; diff --git a/modules/xfeatures2d/src/msd.cpp b/modules/xfeatures2d/src/msd.cpp index 9fe5ae8cf..76292410b 100644 --- a/modules/xfeatures2d/src/msd.cpp +++ b/modules/xfeatures2d/src/msd.cpp @@ -303,7 +303,7 @@ namespace cv p_res.y = j + xr + 0.5f; } 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.y = (j + xr + 0.5f) * effectiveScaleFactor; @@ -691,7 +691,7 @@ namespace cv continue; } 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; if (m_compute_orientation) kp_temp.angle = computeOrientation(m_scaleSpace[r], i, j, orientPoints); diff --git a/modules/ximgproc/src/graphsegmentation.cpp b/modules/ximgproc/src/graphsegmentation.cpp index 77a8ed40f..45c8c2a46 100644 --- a/modules/ximgproc/src/graphsegmentation.cpp +++ b/modules/ximgproc/src/graphsegmentation.cpp @@ -194,7 +194,8 @@ namespace cv { float tmp_total = 0; 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;