From ad71a1633cff03f72cfcaa85b7c0ad35a8356d48 Mon Sep 17 00:00:00 2001 From: junxnone Date: Thu, 5 Nov 2020 12:25:38 +0800 Subject: [PATCH 1/6] fix truncate threshold example display issue in py_tutorials Signed-off-by: junxnone --- .../py_thresholding/images/threshold.jpg | Bin 15543 -> 18675 bytes .../py_thresholding/py_thresholding.markdown | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/py_tutorials/py_imgproc/py_thresholding/images/threshold.jpg b/doc/py_tutorials/py_imgproc/py_thresholding/images/threshold.jpg index e203927791e209945680447d515812c543ca76e9..c7053cc76d59c9545598274275b62f3f0a68a6ba 100644 GIT binary patch literal 18675 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 Date: Fri, 6 Nov 2020 09:51:40 +0300 Subject: [PATCH 2/6] Use explicit opset of Unsqueeze from nGraph backporting commit eb24575e2ce6ae56613fe4b9709ea55b4d8a228e --- modules/dnn/src/layers/prior_box_layer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/dnn/src/layers/prior_box_layer.cpp b/modules/dnn/src/layers/prior_box_layer.cpp index 7385afd3b0..dd39ce4417 100644 --- a/modules/dnn/src/layers/prior_box_layer.cpp +++ b/modules/dnn/src/layers/prior_box_layer.cpp @@ -595,7 +595,7 @@ public: auto priorBox = std::make_shared(slice_layer, slice_image, attrs); auto axis = std::make_shared(ngraph::element::i64, ngraph::Shape{1}, std::vector{0}); - auto unsqueeze = std::make_shared(priorBox, axis); + auto unsqueeze = std::make_shared(priorBox, axis); return Ptr(new InfEngineNgraphNode(unsqueeze)); } else @@ -616,7 +616,7 @@ public: auto priorBox = std::make_shared(slice_layer, slice_image, attrs); auto axis = std::make_shared(ngraph::element::i64, ngraph::Shape{1}, std::vector{0}); - auto unsqueeze = std::make_shared(priorBox, axis); + auto unsqueeze = std::make_shared(priorBox, axis); return Ptr(new InfEngineNgraphNode(unsqueeze)); } } From bed5debca639f35931b778cf9e7727e4f27c7659 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Sat, 7 Nov 2020 17:27:33 +0000 Subject: [PATCH 3/6] dnn: use OpenVINO 2021.1 defines --- cmake/OpenCVDetectInferenceEngine.cmake | 4 ++-- modules/dnn/src/op_inf_engine.hpp | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/cmake/OpenCVDetectInferenceEngine.cmake b/cmake/OpenCVDetectInferenceEngine.cmake index 3eaf890f32..ceb7b7989c 100644 --- a/cmake/OpenCVDetectInferenceEngine.cmake +++ b/cmake/OpenCVDetectInferenceEngine.cmake @@ -135,9 +135,9 @@ endif() if(INF_ENGINE_TARGET) if(NOT INF_ENGINE_RELEASE) - message(WARNING "InferenceEngine version has not been set, 2020.4 will be used by default. Set INF_ENGINE_RELEASE variable if you experience build errors.") + message(WARNING "InferenceEngine version has not been set, 2021.1 will be used by default. Set INF_ENGINE_RELEASE variable if you experience build errors.") endif() - set(INF_ENGINE_RELEASE "2020040000" CACHE STRING "Force IE version, should be in form YYYYAABBCC (e.g. 2020.1.0.2 -> 2020010002)") + set(INF_ENGINE_RELEASE "2021010000" CACHE STRING "Force IE version, should be in form YYYYAABBCC (e.g. 2020.1.0.2 -> 2020010002)") set_target_properties(${INF_ENGINE_TARGET} PROPERTIES INTERFACE_COMPILE_DEFINITIONS "HAVE_INF_ENGINE=1;INF_ENGINE_RELEASE=${INF_ENGINE_RELEASE}" ) diff --git a/modules/dnn/src/op_inf_engine.hpp b/modules/dnn/src/op_inf_engine.hpp index e8fdada99a..bb9563f4ac 100644 --- a/modules/dnn/src/op_inf_engine.hpp +++ b/modules/dnn/src/op_inf_engine.hpp @@ -27,10 +27,11 @@ #define INF_ENGINE_RELEASE_2020_2 2020020000 #define INF_ENGINE_RELEASE_2020_3 2020030000 #define INF_ENGINE_RELEASE_2020_4 2020040000 +#define INF_ENGINE_RELEASE_2021_1 2021010000 #ifndef INF_ENGINE_RELEASE -#warning("IE version have not been provided via command-line. Using 2020.4 by default") -#define INF_ENGINE_RELEASE INF_ENGINE_RELEASE_2020_4 +#warning("IE version have not been provided via command-line. Using 2021.1 by default") +#define INF_ENGINE_RELEASE INF_ENGINE_RELEASE_2021_1 #endif #define INF_ENGINE_VER_MAJOR_GT(ver) (((INF_ENGINE_RELEASE) / 10000) > ((ver) / 10000)) From df7bf9a048468e424831d521721ca8e028ae0621 Mon Sep 17 00:00:00 2001 From: catree Date: Sun, 8 Nov 2020 14:42:47 +0100 Subject: [PATCH 4/6] Fix typo in OpenCVFindOpenBLAS.cmake file. --- cmake/OpenCVFindOpenBLAS.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/OpenCVFindOpenBLAS.cmake b/cmake/OpenCVFindOpenBLAS.cmake index 6cb486d95d..d1db034908 100644 --- a/cmake/OpenCVFindOpenBLAS.cmake +++ b/cmake/OpenCVFindOpenBLAS.cmake @@ -57,7 +57,7 @@ SET(Open_BLAS_INCLUDE_SEARCH_PATHS ) SET(Open_BLAS_LIB_SEARCH_PATHS - $ENV{OpenBLAS}cd + $ENV{OpenBLAS} $ENV{OpenBLAS}/lib $ENV{OpenBLAS_HOME} $ENV{OpenBLAS_HOME}/lib From a104e7c59368f6500c5a9083e1d577d48f9c54ee Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Mon, 9 Nov 2020 19:12:09 +0000 Subject: [PATCH 5/6] doxygen: adjust IMAGE_PATH, allow custom OPENCV_DOCS_EXTRA_IMAGE_PATH - add opencv/modules - add opencv_contrib/modules --- doc/CMakeLists.txt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 107c01a144..83859314b3 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -130,9 +130,23 @@ if(DOXYGEN_FOUND) set(tutorial_js_path "${CMAKE_CURRENT_SOURCE_DIR}/js_tutorials") set(example_path "${CMAKE_SOURCE_DIR}/samples") + set(doxygen_image_path + ${CMAKE_CURRENT_SOURCE_DIR}/images + ${paths_doc} + ${tutorial_path} + ${tutorial_py_path} + ${tutorial_js_path} + ${paths_tutorial} + #${OpenCV_SOURCE_DIR}/samples/data # TODO: need to resolve ambiguous conflicts first + ${OpenCV_SOURCE_DIR} + ${OpenCV_SOURCE_DIR}/modules # /modules + ${OPENCV_EXTRA_MODULES_PATH} # /modules + ${OPENCV_DOCS_EXTRA_IMAGE_PATH} # custom variable for user modules + ) + # set export variables string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_INPUT_LIST "${rootfile} ; ${faqfile} ; ${paths_include} ; ${paths_hal_interface} ; ${paths_doc} ; ${tutorial_path} ; ${tutorial_py_path} ; ${tutorial_js_path} ; ${paths_tutorial} ; ${tutorial_contrib_root}") - string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_IMAGE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/images ; ${paths_doc} ; ${tutorial_path} ; ${tutorial_py_path} ; ${tutorial_js_path} ; ${paths_tutorial}") + string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_IMAGE_PATH "${doxygen_image_path}") string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_EXCLUDE_LIST "${CMAKE_DOXYGEN_EXCLUDE_LIST}") string(REPLACE ";" " " CMAKE_DOXYGEN_ENABLED_SECTIONS "${CMAKE_DOXYGEN_ENABLED_SECTIONS}") # TODO: remove paths_doc from EXAMPLE_PATH after face module tutorials/samples moved to separate folders From 08271e5591770e0c1efaaff839db6da03401593b Mon Sep 17 00:00:00 2001 From: Igor Murzov Date: Tue, 10 Nov 2020 15:36:13 +0300 Subject: [PATCH 6/6] Fix code snippets inclusion into video tutorials Code snippets need a section marked with ### above to render properly --- .../background_subtraction.markdown | 3 +-- .../video_input_psnr_ssim.markdown | 13 ++++++------- .../videoio/video-write/video_write.markdown | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/doc/tutorials/video/background_subtraction/background_subtraction.markdown b/doc/tutorials/video/background_subtraction/background_subtraction.markdown index 91dbd02d9b..267acc6f60 100644 --- a/doc/tutorials/video/background_subtraction/background_subtraction.markdown +++ b/doc/tutorials/video/background_subtraction/background_subtraction.markdown @@ -32,8 +32,7 @@ In this tutorial you will learn how to: -# Create and update the background model by using @ref cv::BackgroundSubtractor class; -# Get and show the foreground mask by using @ref cv::imshow ; -Code ----- +### Code In the following you can find the source code. We will let the user choose to process either a video file or a sequence of images. diff --git a/doc/tutorials/videoio/video-input-psnr-ssim/video_input_psnr_ssim.markdown b/doc/tutorials/videoio/video-input-psnr-ssim/video_input_psnr_ssim.markdown index 2cd038255a..08cc596964 100644 --- a/doc/tutorials/videoio/video-input-psnr-ssim/video_input_psnr_ssim.markdown +++ b/doc/tutorials/videoio/video-input-psnr-ssim/video_input_psnr_ssim.markdown @@ -126,8 +126,7 @@ captRefrnc.set(CAP_PROP_POS_FRAMES, 10); // go to the 10th frame of the video For properties you can read and change look into the documentation of the @ref cv::VideoCapture::get and @ref cv::VideoCapture::set functions. -Image similarity - PSNR and SSIM --------------------------------- +### Image similarity - PSNR and SSIM We want to check just how imperceptible our video converting operation went, therefore we need a system to check frame by frame the similarity or differences. The most common algorithm used for @@ -145,15 +144,15 @@ Here the \f$MAX_I\f$ is the maximum valid value for a pixel. In case of the simp per pixel per channel this is 255. When two images are the same the MSE will give zero, resulting in an invalid divide by zero operation in the PSNR formula. In this case the PSNR is undefined and as we'll need to handle this case separately. The transition to a logarithmic scale is made because the -pixel values have a very wide dynamic range. All this translated to OpenCV and a C++ function looks +pixel values have a very wide dynamic range. All this translated to OpenCV and a function looks like: @add_toggle_cpp -@include cpp/tutorial_code/videoio/video-input-psnr-ssim/video-input-psnr-ssim.cpp get-psnr +@snippet cpp/tutorial_code/videoio/video-input-psnr-ssim/video-input-psnr-ssim.cpp get-psnr @end_toggle @add_toggle_python -@include samples/python/tutorial_code/videoio/video-input-psnr-ssim.py get-psnr +@snippet samples/python/tutorial_code/videoio/video-input-psnr-ssim.py get-psnr @end_toggle Typically result values are anywhere between 30 and 50 for video compression, where higher is @@ -172,11 +171,11 @@ implementation below. Transactions on Image Processing, vol. 13, no. 4, pp. 600-612, Apr. 2004." article. @add_toggle_cpp -@include cpp/tutorial_code/videoio/video-input-psnr-ssim/video-input-psnr-ssim.cpp get-mssim +@snippet samples/cpp/tutorial_code/videoio/video-input-psnr-ssim/video-input-psnr-ssim.cpp get-mssim @end_toggle @add_toggle_python -@include samples/python/tutorial_code/videoio/video-input-psnr-ssim.py get-mssim +@snippet samples/python/tutorial_code/videoio/video-input-psnr-ssim.py get-mssim @end_toggle This will return a similarity index for each channel of the image. This value is between zero and diff --git a/doc/tutorials/videoio/video-write/video_write.markdown b/doc/tutorials/videoio/video-write/video_write.markdown index feafc4408d..b81107559e 100644 --- a/doc/tutorials/videoio/video-write/video_write.markdown +++ b/doc/tutorials/videoio/video-write/video_write.markdown @@ -63,7 +63,7 @@ specialized video writing libraries such as *FFMpeg* or codecs as *HuffYUV*, *Co an alternative, create the video track with OpenCV and expand it with sound tracks or convert it to other formats by using video manipulation programs such as *VirtualDub* or *AviSynth*. -The *VideoWriter* class +The VideoWriter class ----------------------- The content written here builds on the assumption you