Alexander Alekhin [Wed, 22 Dec 2021 15:53:02 +0000 (15:53 +0000)]
Merge pull request #21313 from alalek:fix_links_3.4
Alexander Alekhin [Wed, 22 Dec 2021 12:38:21 +0000 (12:38 +0000)]
fix 3.4 links
dwardor [Wed, 22 Dec 2021 12:00:00 +0000 (13:00 +0100)]
Merge pull request #21114 from dwardor:patch-1
* Fix compile against lapack-3.10.0
Fix compilation against lapack >= 3.9.1 and 3.10.0 while not breaking older versions
OpenCVFindLAPACK.cmake & CMakeLists.txt: determine OPENCV_USE_LAPACK_PREFIX from LAPACK_VERSION
hal_internal.cpp : Only apply LAPACK_FUNC to functions whose number of inputs depends on LAPACK_FORTRAN_STR_LEN in lapack >= 3.9.1
lapack_check.cpp : remove LAPACK_FUNC which is not OK as function are not used with input parameters (so lapack.h preprocessing of "LAPACK_xxxx(...)" is not applicable with lapack >= 3.9.1
If not removed lapack_check fails so LAPACK is deactivated in build (not want we want)
use OCV_ prefix and don't use Global, instead generate OCV_LAPACK_FUNC depending on CMake Conditions
Remove CONFIG from find_package(LAPACK) and use LAPACK_GLOBAL and LAPACK_NAME to figure out if using netlib's reference LAPACK implementation and how to #define OCV_LAPACK_FUNC(f)
* Fix typos and grammar in comments
Alexander Alekhin [Tue, 21 Dec 2021 18:39:52 +0000 (18:39 +0000)]
Merge pull request #21302 from alalek:issue_21299_3.4
Alexander Alekhin [Tue, 21 Dec 2021 15:48:40 +0000 (15:48 +0000)]
Merge pull request #21297 from rogday:div_fix
Alexander Alekhin [Tue, 21 Dec 2021 15:44:59 +0000 (15:44 +0000)]
highgui: fix Win32 with OPENGL=ON
Alexander Alekhin [Mon, 20 Dec 2021 18:11:41 +0000 (18:11 +0000)]
Merge pull request #21295 from alalek:update_ffmpeg_3.4
rogday [Mon, 20 Dec 2021 16:53:37 +0000 (19:53 +0300)]
fix const/x in Div
Alexander Alekhin [Mon, 20 Dec 2021 15:32:05 +0000 (15:32 +0000)]
ffmpeg/3.4: update FFmpeg wrapper 2021.12
- FFmpeg 3.4.9
Alexander Alekhin [Mon, 20 Dec 2021 15:03:21 +0000 (15:03 +0000)]
videoio: fix ffmpeg standalone build
Alexander Alekhin [Sat, 18 Dec 2021 13:46:29 +0000 (13:46 +0000)]
Merge pull request #21280 from alalek:update_version_3.4.17-pre
Stefano Allegretti [Fri, 17 Dec 2021 19:36:57 +0000 (20:36 +0100)]
Merge pull request #21275 from stal12:CCL_improvements
Improve CCL with new algorithms and tests
* Improve CCL with new algorithms and tests
* Split CCL test into dedicated tests cases
Alexander Alekhin [Fri, 17 Dec 2021 14:27:40 +0000 (14:27 +0000)]
Merge pull request #21283 from rogday:flatten_fix
eplankin [Fri, 17 Dec 2021 13:31:37 +0000 (16:31 +0300)]
Merge pull request #21258 from eplankin:fix_threshold_to_zero_ipp_bug
Fixed threshold(THRESH_TOZERO) at imgproc(IPP)
* Fixed #16085: imgproc(IPP): wrong result from threshold(THRESH_TOZERO)
* 1. Added test cases with float where all bits of mantissa equal 1, min and max float as inputs
2. Used nextafterf instead of cast to hex
* Used float value in test instead of hex and casts
* Changed input value in test
Smirnov Egor [Thu, 16 Dec 2021 19:41:47 +0000 (22:41 +0300)]
fix Flatten layer
Alexander Alekhin [Fri, 17 Dec 2021 10:05:52 +0000 (10:05 +0000)]
pre: OpenCV 3.4.17 (version++)
Alexander Alekhin [Thu, 16 Dec 2021 18:52:22 +0000 (18:52 +0000)]
Merge pull request #21277 from alalek:backport_21267
Maksim Shabunin [Wed, 15 Dec 2021 09:49:13 +0000 (12:49 +0300)]
(3.4) Fixed several issues found by static analysis
original commit:
a079c2eb7cb74b4520c69b6f6c2ea79c7d410871
Alexander Alekhin [Thu, 16 Dec 2021 11:19:53 +0000 (11:19 +0000)]
Merge pull request #21271 from vrabaud:3.4_clip
Vincent Rabaud [Thu, 16 Dec 2021 10:27:37 +0000 (11:27 +0100)]
Use NaN-safe clip function.
This is to prevent more NaN to int conversions like in #21111.
Alexander Alekhin [Thu, 16 Dec 2021 09:17:51 +0000 (09:17 +0000)]
Merge pull request #21269 from mshabunin:fix-hardening-o3
Maksim Shabunin [Thu, 16 Dec 2021 08:40:42 +0000 (11:40 +0300)]
Do not force -O2 flag in hardening-enabled builds
Alexander Alekhin [Wed, 15 Dec 2021 16:24:03 +0000 (16:24 +0000)]
Merge pull request #21261 from alalek:dnn_onnx_test_filter_update
Alexander Alekhin [Wed, 15 Dec 2021 08:57:50 +0000 (08:57 +0000)]
dnn(test): update ONNX conformance filters
Alexander Alekhin [Wed, 15 Dec 2021 10:26:49 +0000 (10:26 +0000)]
Merge pull request #21259 from rogday:random_fixes
Alexander Alekhin [Wed, 15 Dec 2021 08:17:09 +0000 (08:17 +0000)]
Merge pull request #21254 from alalek:build_opencv_winpack_dldt_2021.4.2
Smirnov Egor [Tue, 14 Dec 2021 17:54:43 +0000 (20:54 +0300)]
fix max_unpool missing attributes, add default value of keepdims in reducemean/max/sum, add support for keepdims=true in full reduction branch, add new padding type to Pad
Alexander Alekhin [Tue, 14 Dec 2021 16:59:07 +0000 (16:59 +0000)]
Merge pull request #21257 from alalek:imgproc_cvtcolor_lab_fix_nan
Alexander Alekhin [Tue, 14 Dec 2021 16:58:52 +0000 (16:58 +0000)]
Merge pull request #21256 from zchrissirhcz:fix-3.4-pyramid-tutorial
rogday [Tue, 14 Dec 2021 16:58:06 +0000 (19:58 +0300)]
Merge pull request #21088 from rogday:onnx_tests
Onnx conformance tests
* Add ONNX conformance tests
* dnn(test): add filters for ONNX conformance tests
* add filter lists for OCV backend
* address review comments
* move test_clip_inbounds to all_denylist
* address clip issue
* avoid empty lists
Co-authored-by: Alexander Alekhin <alexander.a.alekhin@gmail.com>
Alexander Alekhin [Sat, 11 Dec 2021 17:28:21 +0000 (17:28 +0000)]
imgproc: catch NaNs in clip(), use table index debug check
- no NaN propagation guarantee
Alexander Alekhin [Tue, 14 Dec 2021 15:15:07 +0000 (15:15 +0000)]
Merge pull request #21251 from vrabaud:3.4_bayer
Zhuo Zhang [Tue, 14 Dec 2021 13:06:02 +0000 (21:06 +0800)]
docs: correct normalize factor in gaussian pyramid tutorial
Alexander Alekhin [Mon, 13 Dec 2021 19:10:02 +0000 (19:10 +0000)]
build: winpack_dldt with dldt 2021.4.2
Vincent Rabaud [Mon, 13 Dec 2021 22:43:49 +0000 (23:43 +0100)]
Fix harmless signed integer overflow.
When computing:
t1 = (bayer[1] + bayer[bayer_step] + bayer[bayer_step+2] + bayer[bayer_step*2+1])*G2Y;
there is a T (unsigned short or char) multiplied by an int which can overflow.
Then again, it is stored to t1 which is unsigned so the overflow disappears.
Keeping all unsigned is safer.
Alexander Alekhin [Mon, 13 Dec 2021 22:24:33 +0000 (22:24 +0000)]
Merge pull request #21250 from alalek:videoio_msmf_update_camera_3.4
Alexander Alekhin [Mon, 6 Dec 2021 06:54:48 +0000 (09:54 +0300)]
videoio(MSMF): add queue for async ReadSample()
Alexander Alekhin [Sat, 11 Dec 2021 15:14:43 +0000 (15:14 +0000)]
Merge pull request #21235 from jonay2000:fix-docs
Jonathan Dönszelmann [Sat, 11 Dec 2021 07:03:10 +0000 (08:03 +0100)]
Update name from Gunner to Gunnar as that's the name he published his
paper under.
Alexander Alekhin [Fri, 10 Dec 2021 16:11:06 +0000 (16:11 +0000)]
Merge pull request #21193 from alalek:imgproc_test_bitexact_cvtcolor_yuv
Alexander Alekhin [Fri, 10 Dec 2021 16:07:57 +0000 (16:07 +0000)]
Merge pull request #21228 from alalek:issue_21198
Alexander Alekhin [Fri, 10 Dec 2021 11:32:03 +0000 (11:32 +0000)]
Merge pull request #21074 from vrabaud:3.4_rect
Alexander Alekhin [Thu, 9 Dec 2021 20:23:35 +0000 (20:23 +0000)]
imgproc(ocl): fix resizeLN, avoid integer overflow
UncleLLD [Thu, 9 Dec 2021 19:11:05 +0000 (03:11 +0800)]
Merge pull request #21224 from UncleLLD:fix-cvtColor-error
fix cvtColor-error
* fix gray image channel error
* fix gray image channel error
* fix cvtColor error after the video end
* fix cvtColor error after the video end and change next variable
* fix cvtColor error after the video end
* reset next variable
* fix cvtColor error after the video end
* fix cvtColor error after the video end
Vincent Rabaud [Wed, 17 Nov 2021 16:38:21 +0000 (17:38 +0100)]
Solve Rect overflow issues.
Fow now, it is possible to define valid rectangle for which some
functions overflow (e.g. br(), ares() ...).
This patch fixes the intersection operator so that it works with
any rectangle.
Andrey Senyaev [Wed, 8 Dec 2021 18:51:34 +0000 (21:51 +0300)]
Merge pull request #21219 from asenyaev:asen/remove_distutils
* Replaced distutils module to sysconfig
* Fixed getting a path to python lib
Alexander Alekhin [Tue, 7 Dec 2021 16:34:54 +0000 (16:34 +0000)]
Merge pull request #21213 from alalek:issue_20850_case1
Alexander Alekhin [Tue, 7 Dec 2021 05:47:54 +0000 (05:47 +0000)]
cmake: fix OPENGL_LIBRARIES handling
UncleLLD [Mon, 6 Dec 2021 16:14:17 +0000 (00:14 +0800)]
Merge pull request #21188 from UncleLLD:fix-markdown-error
fix issue 21187: markdown file: gray image does not have three dimensions
Alexander Alekhin [Sat, 4 Dec 2021 07:32:57 +0000 (07:32 +0000)]
carotene: disable YUV color conversions (bit-exact issue)
Alexander Alekhin [Sat, 4 Dec 2021 04:36:01 +0000 (04:36 +0000)]
imgproc(test): add bit-exact tests for YUV cvtColor conversions
Alexander Alekhin [Thu, 2 Dec 2021 17:14:48 +0000 (17:14 +0000)]
Merge pull request #21162 from rogday:softmax_simplification
Alexander Alekhin [Thu, 2 Dec 2021 17:13:56 +0000 (17:13 +0000)]
Merge pull request #21160 from rogday:elu_alpha
rogday [Thu, 2 Dec 2021 17:11:11 +0000 (20:11 +0300)]
Merge pull request #21159 from rogday:ceil_mode
fix ceil_mode for Average/MaxPooling
* fix ceil_mode
* add a comment
Alexander Alekhin [Thu, 2 Dec 2021 16:41:02 +0000 (16:41 +0000)]
Merge pull request #21174 from APrigarina:fix_qr_encoder
Alexander Alekhin [Thu, 2 Dec 2021 16:33:15 +0000 (16:33 +0000)]
Merge pull request #21173 from alalek:3.4_dnn_test_reenable_ov_2021_4
APrigarina [Thu, 2 Dec 2021 12:04:04 +0000 (15:04 +0300)]
qr encoder: fix memory and unused variables issues
Alexander Alekhin [Tue, 30 Nov 2021 12:08:35 +0000 (12:08 +0000)]
dnn(test): re-enable tests which works with OpenVINO 2021.4.x (3.4)
Alexander Alekhin [Wed, 1 Dec 2021 22:49:02 +0000 (22:49 +0000)]
Merge pull request #21164 from rogday:sum_identity
Alexander Alekhin [Wed, 1 Dec 2021 22:47:57 +0000 (22:47 +0000)]
Merge pull request #21163 from rogday:transpose_default
Vincent Rabaud [Wed, 1 Dec 2021 12:46:03 +0000 (13:46 +0100)]
Merge pull request #21112 from vrabaud:3.4_luv_overflow
* Fix integer overflow in cv::Luv2RGBinteger::process.
For LL=49, uu=205, vv=23, we end up with x=7373056 and y=458
which overflows y*x.
* imgproc(test): adjust test parameters to cover SIMD code
Smirnov Egor [Tue, 30 Nov 2021 12:42:20 +0000 (15:42 +0300)]
add sum of 1 input
Smirnov Egor [Tue, 30 Nov 2021 12:34:34 +0000 (15:34 +0300)]
add default order to transpose
Smirnov Egor [Tue, 30 Nov 2021 12:20:52 +0000 (15:20 +0300)]
add new (Log)SoftMax simplification passes
Smirnov Egor [Tue, 30 Nov 2021 09:20:35 +0000 (12:20 +0300)]
add alpha parameter to ELU layer
Alexander Alekhin [Mon, 29 Nov 2021 22:39:27 +0000 (22:39 +0000)]
Merge pull request #21152 from rogday:fix_defaults
Alexander Alekhin [Mon, 29 Nov 2021 21:44:59 +0000 (21:44 +0000)]
Merge pull request #21142 from alalek:dnn_two_inputs_ocl_fp16_3.4
Andrew Ryrie [Mon, 29 Nov 2021 21:43:00 +0000 (21:43 +0000)]
Merge pull request #20658 from smbz:lstm_optimisation
* dnn: LSTM optimisation
This uses the AVX-optimised fastGEMM1T for matrix multiplications where available, instead of the standard cv::gemm.
fastGEMM1T is already used by the fully-connected layer. This commit involves two minor modifications:
- Use unaligned access. I don't believe this involves any performance hit in on modern CPUs (Nehalem and Bulldozer onwards) in the case where the address is actually aligned.
- Allow for weight matrices where the number of columns is not a multiple of 8.
I have not enabled AVX-512 as I don't have an AVX-512 CPU to test on.
* Fix warning about initialisation order
* Remove C++11 syntax
* Fix build when AVX(2) is not available
In this case the CV_TRY_X macros are defined to 0, rather than being undefined.
* Minor changes as requested:
- Don't check hardware support for AVX(2) when dispatch is disabled for these
- Add braces
* Fix out-of-bounds access in fully connected layer
The old tail handling in fastGEMM1T implicitly rounded vecsize up to the next multiple of 8, and the fully connected layer implements padding up to the next multiple of 8 to cope with this. The new tail handling does not round the vecsize upwards like this but it does require that the vecsize is at least 8. To adapt to the new tail handling, the fully connected layer now rounds vecsize itself at the same time as adding the padding(which makes more sense anyway).
This also means that the fully connected layer always passes a vecsize of at least 8 to fastGEMM1T, which fixes the out-of-bounds access problems.
* Improve tail mask handling
- Use static array for generating tail masks (as requested)
- Apply tail mask to the weights as well as the input vectors to prevent spurious propagation of NaNs/Infs
* Revert whitespace change
* Improve readability of conditions for using AVX
* dnn(lstm): minor coding style changes, replaced left aligned load
Smirnov Egor [Mon, 29 Nov 2021 16:56:23 +0000 (19:56 +0300)]
fix Clip, LeakyReLU, LRN, Split defaults
Alexander Alekhin [Sun, 28 Nov 2021 04:29:54 +0000 (04:29 +0000)]
dnn(DataLayer): fix CPU/OpenCL code paths for FP16 handling
Alexander Alekhin [Sat, 27 Nov 2021 02:51:57 +0000 (02:51 +0000)]
dnn(test): add two_inputs test with FP32/U8 data types
- remove similar test from IE scope under HAVE_INF_ENGINE
yuki takehara [Sat, 27 Nov 2021 18:34:52 +0000 (03:34 +0900)]
Merge pull request #21107 from take1014:remove_assert_21038
resolves #21038
* remove C assert
* revert C header
* fix several points in review
* fix test_ds.cpp
Alexander Alekhin [Fri, 26 Nov 2021 20:35:58 +0000 (20:35 +0000)]
Merge pull request #21133 from alalek:dnn_test_ie_update_3.4
Alexander Alekhin [Thu, 25 Nov 2021 19:56:27 +0000 (19:56 +0000)]
dnn(test): update InferenceEngine tests
Alexander Alekhin [Fri, 26 Nov 2021 18:32:54 +0000 (18:32 +0000)]
Merge pull request #21131 from cclauss:codespell
Alexander Alekhin [Fri, 26 Nov 2021 18:31:31 +0000 (18:31 +0000)]
Merge pull request #21130 from cclauss:print-function
Christian Clauss [Fri, 26 Nov 2021 11:29:56 +0000 (12:29 +0100)]
Fix typos discovered by codespell
Alexander Alekhin [Fri, 26 Nov 2021 11:11:58 +0000 (11:11 +0000)]
Merge pull request #21128 from cclauss:patch-3
Christian Clauss [Fri, 26 Nov 2021 10:57:54 +0000 (11:57 +0100)]
Use print() function in both Python 2 and Python 3
Christian Clauss [Fri, 26 Nov 2021 10:07:14 +0000 (11:07 +0100)]
CMakeLists.txt: Fix typo discovered by codespell
https://pypi.org/project/codespell/
Alexander Alekhin [Thu, 25 Nov 2021 18:06:33 +0000 (18:06 +0000)]
Merge pull request #21123 from cclauss:patch-3
Christian Clauss [Thu, 25 Nov 2021 11:44:21 +0000 (12:44 +0100)]
Use ==/!= to compare constant literals (str, bytes, int, float, tuple)
Avoid `SyntaxWarning` on Python >= 3.8
```
>>> "convolutional" == "convolutional"
True
>>> "convolutional" is "convolutional"
<stdin>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
True
```
Related to #21121
Alexander Alekhin [Wed, 24 Nov 2021 20:08:27 +0000 (20:08 +0000)]
Merge pull request #21110 from alalek:update_libjpeg-turbo
Alexander Alekhin [Wed, 24 Nov 2021 03:43:55 +0000 (03:43 +0000)]
3rdparty: libjpeg-turbo 2.1.0 => 2.1.2
https://github.com/libjpeg-turbo/libjpeg-turbo/releases/tag/2.1.2
Alexander Alekhin [Mon, 22 Nov 2021 22:44:31 +0000 (22:44 +0000)]
Merge pull request #21092 from alalek:core_logger_show_timestamp
Alexander Alekhin [Sat, 20 Nov 2021 15:34:23 +0000 (15:34 +0000)]
core(logger): dump timestamp information with message
Alexander Alekhin [Fri, 19 Nov 2021 20:28:25 +0000 (20:28 +0000)]
Merge pull request #21063 from vrabaud:3.4_h_clamping
Vincent Rabaud [Mon, 15 Nov 2021 12:09:02 +0000 (13:09 +0100)]
Fix H clamping for very small negative values.
In case of very small negative h (e.g. -1e-40), with the current implementation,
you will go through the first condition and end up with h = 6.f, and will miss
the second condition.
Alexander Alekhin [Thu, 18 Nov 2021 22:48:40 +0000 (22:48 +0000)]
Merge pull request #21067 from NickJackolson:nickjackolson/imread-warning
nickjackolson [Wed, 17 Nov 2021 20:56:55 +0000 (21:56 +0100)]
add !empty assertion in seamlessClone()
issue #20617 addresses lack of warnings on
seamlessClone() function when src is None.
This commit adds source check using CV_Assert
therefore debugging would be easier.
Signed-off-by: nickjackolson <metedurlu@gmail.com>
nickjackolson [Sun, 14 Nov 2021 19:43:50 +0000 (20:43 +0100)]
Add warning message to imread()
Add a warning message using CV_LOG__WARNING().
This way api behaviour is preserved. Outputs are
the same but user gets an extra warning in case
fopen() fails to access image file for some reason.
This would help new users and also debugging
complex apps which use imread()
Signed-off-by: nickjackolson <metedurlu@gmail.com>
Alexander Alekhin [Thu, 18 Nov 2021 18:34:44 +0000 (18:34 +0000)]
Merge pull request #21077 from alalek:js_test_pin_cli_table
Alexander Alekhin [Thu, 18 Nov 2021 05:40:16 +0000 (05:40 +0000)]
js(test): pin cli-table dependency
Alexander Alekhin [Tue, 16 Nov 2021 20:05:59 +0000 (20:05 +0000)]
Merge pull request #21064 from alalek:doc_videoio_api_preference_3.4
Alexander Alekhin [Tue, 16 Nov 2021 17:07:27 +0000 (17:07 +0000)]
doc(videoio): fix apiPreference note, replace DSHOW(deprecated)->MSMF
Qiushi Zheng [Mon, 15 Nov 2021 17:15:39 +0000 (01:15 +0800)]
Merge pull request #17889 from ZhengQiushi:my_3.4
QR code (encoding process)
* add qrcode encoder
* qr encoder fixes
* qr encoder: fix api and realization
* fixed qr encoder, added eci and kanji modes
* trigger CI
* qr encoder constructor fixes
Co-authored-by: APrigarina <ann73617@gmail.com>
Alexander Alekhin [Thu, 11 Nov 2021 22:54:07 +0000 (01:54 +0300)]
Merge pull request #21025 from alalek:issue_21004
* dnn(ocl4dnn): fix LRN layer accuracy problems
- FP16 intermediate computation is not accurate and may provide NaN values
* dnn(test): update tolerance for FP16
tv3141 [Wed, 10 Nov 2021 19:15:38 +0000 (20:15 +0100)]
Merge pull request #21030 from tv3141:fix_seg_fault_houghlinespointset
Fix seg fault houghlinespointset
* Clarify parameter doc for HoughLinesPointSet
* Fix seg fault.
* Add regression test.
* Fix latex typo
Alexander Alekhin [Wed, 10 Nov 2021 16:08:20 +0000 (16:08 +0000)]
Merge pull request #20870 from pkubaj:master
Piotr Kubaj [Wed, 13 Oct 2021 16:19:57 +0000 (18:19 +0200)]
Add support for runtime CPU feature check on POWER on FreeBSD.
1. Code uses PPC_FEATURE_HAS_VSX, but it's not checked similarly to
PPC_FEATURE2_ARCH_3_00 and PPC_FEATURE2_ARCH_3_00 for availability. FreeBSD has
those macros in machine/cpu.h, but I went with the way chosen for
PPC_FEATURE2_ARCH_3_00 and PPC_FEATURE2_ARCH_3_00. Other than that, FreeBSD also
has sys/auxv.h and that's where elf_aux_info() is defined.
2. getauxval() is actually Linux-only, but code checked for __unix__. It won't
work on all UNIX, so change it back to __linux__. Add another code variant
strictly for FreeBSD.
3. Update comment. This commit adds code for FreeBSD, but recently there
appeared support for powerpc64 in OpenBSD.