Vadim Pisarevsky
54279523a3
Merge pull request #12437 from vpisarev:avx2_fixes
...
* trying to fix the custom AVX2 builder test failures (false alarms)
* fixed compile error with CPU_BASELINE=AVX2 on x86; raised tolerance thresholds in a couple of tests
* fixed compile error with CPU_BASELINE=AVX2 on x86; raised tolerance thresholds in a couple of tests
* fixed compile error with CPU_BASELINE=AVX2 on x86; raised tolerance thresholds in a couple of tests
* seemingly disabled false alarm warning in surf.cpp; increased tolerance thresholds in the tests for SolvePnP and in DNN/ENet
2018-09-06 18:56:55 +03:00
Alexander Alekhin
8a3c394d6a
don't use constructors for C API structures
2018-09-06 14:34:16 +03:00
Alexander Alekhin
ad146e5a6b
core: remove constructors from C API structures
...
POD structures can't have constructors.
2018-09-06 14:34:09 +03:00
Alexander Alekhin
d74b98c3d9
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-04 18:39:03 +00:00
Alexander Alekhin
acce95f446
backport fixes for static analyzer warnings
...
Commits:
- 09837928d9
- 10fb88d027
Excluded changes with std::atomic (C++98 requirement)
2018-09-04 16:49:42 +03:00
Alexander Alekhin
a0f86479e0
core: wrap custom types via _RawArray (raw() call)
...
- support passing of `std::vector<KeyPoint>` via InputArray
2018-09-03 18:41:48 +00:00
cyy
09837928d9
Merge pull request #12357 from DEEPIR:master
...
* fix some static analyzer warnings
* fix some static analyzer warnings
* fix race condition of workthread control
2018-09-02 16:34:43 +03:00
Vitaly Tuzov
0f2b535fcc
Bit-exact GaussianBlur reworked to use wide intrinsics ( #12073 )
...
* Bit-exact GaussianBlur reworked to use wide intrinsics
* Added v_mul_hi universal intrinsic
* Removed custom SSE2 branch from bit-exact GaussianBlur
* Removed loop unrolling for gaussianBlur horizontal smoothing
2018-08-31 17:04:59 +03:00
Alexander Alekhin
90f47eb952
Merge pull request #12234 from cv3d:python/cuda/wrapping_functionalities
2018-08-30 20:23:38 +00:00
Alexander Alekhin
e86287d8ae
cleanup: IPP Async (IPP_A)
...
except header file with conversion routines (will be removed in OpenCV 4.0)
2018-08-30 18:53:07 +03:00
Hamdi Sahloul
532eace7d6
Extensive wrapping of CUDA functionalities for Python
2018-08-30 22:50:33 +09:00
Alexander Alekhin
d13db35f31
Merge tag '3.4.3'
2018-08-28 16:03:08 +03:00
Alexander Alekhin
b38c50b3d0
OpenCV 3.4.3
2018-08-28 15:58:21 +03:00
Alexander Alekhin
acfdd0e1fc
core: fix MSVS "unreachable code" warnings
2018-08-27 16:23:25 +03:00
Alexander Alekhin
7f73b105ca
core: std::string more changes
2018-08-27 15:41:01 +03:00
Vladislav Sovrasov
ae8dcdf40d
core: get rid of built-in String type
2018-08-27 14:42:18 +03:00
Alexander Alekhin
335e61dc47
Merge pull request #12269 from cv3d:improvements/binding_python
2018-08-24 19:38:12 +00:00
Hamdi Sahloul
b5eb65e53e
Improve Python binding generator with mappable types and phantom headers
2018-08-25 01:58:42 +09:00
Suleyman TURKMEN
d8cd1d8fcc
Merge pull request #12246 from sturkmen72:move_enums
...
* Update core.hpp
* Update imgproc.hpp
* Update ImgprocTest.java
* Update CameraCalibrator.java
* Update OnCameraFrameRender.java
* Update FindContoursDemo.java
* Update IntroductionToSVMDemo.java
* Update NonLinearSVMsDemo.java
* Update IntroductionToPCADemo.java
* Update Smoothing.java
* Update MainActivity.java
* Update CalcBackProjectDemo1.java
* Update CornerSubPixDemo.java
* Update CornerDetectorDemo.java
* Update GoodFeaturesToTrackDemo.java
2018-08-24 11:11:34 +03:00
Alexander Alekhin
6356403964
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-22 17:38:51 +03:00
Alexander Alekhin
2c42361ecd
build: fix build with defined CV_STATIC_ANALYSIS
2018-08-22 14:19:21 +03:00
Alexander Alekhin
6acabd1fd8
Merge pull request #12256 from alalek:core_intrin_fp16_fix
2018-08-21 12:47:08 +00:00
Alexander Alekhin
5ac9a2a7d0
Merge pull request #12219 from alalek:fix_assert_messages
2018-08-21 12:46:35 +00:00
Alexander Alekhin
7d4bb9428b
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-20 19:30:18 +03:00
Alexander Alekhin
67d46dfc6c
core(intrin): restrict FP16 operations
...
Intrinsics must be effective, so don't declare FP16 type/operations if there is no native support.
- CV_FP16: supports load/store into/from float32
- CV_SIMD_FP16: declares FP16 types and native FP16 operations
2018-08-20 19:24:33 +03:00
Alexander Alekhin
31fef14d76
Merge pull request #12136 from sturkmen72:update_documentation
2018-08-17 14:02:20 +00:00
Suleyman TURKMEN
c61bc3a0cb
Update documentation and samples
2018-08-17 14:21:29 +03:00
Alexander Alekhin
d2e08a524e
core: repair CV_Assert() messages
...
Multi-argument CV_Assert() is accessible via CV_Assert_N() (with malformed messages).
2018-08-15 17:43:10 +03:00
Alexander Alekhin
94758c18de
Merge pull request #12156 from cv3d:master
2018-08-14 14:29:17 +00:00
Alexander Alekhin
c1df9ad456
OpenCV version++
...
OpenCV 3.4.3
2018-08-14 14:10:37 +03:00
Alexander Alekhin
e76b375a31
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-13 18:57:57 +03:00
Alexander Alekhin
4eb2966559
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-07 20:12:10 +03:00
Alexander Alekhin
a56b221559
core: cv::Range() ostream write operator
...
remove from DNN module headers
2018-08-07 20:03:21 +03:00
Hamdi Sahloul
293facbae7
Support Python binding for CUDA functionalities
2018-08-07 15:48:12 +09:00
Alexander Alekhin
5c3880d302
core(intrin): avoid symbols duplication from SIMD128/256 cases
...
All vx_call() must be wrapped into own simd128/simd256/simd512 namespace
```
namespace CV__SIMD_NAMESPACE {
... vx_call declaration is here ...
}
```
2018-08-06 19:29:46 +00:00
Vadim Pisarevsky
23022f3ffb
Merge pull request #12121 from maver1:amatyuko/sse2_convert_with_saturation_fix
2018-08-06 14:26:37 +00:00
Alexander Alekhin
b4cea8d6d1
Merge pull request #12120 from alalek:core_test_intrin_dispatched
2018-08-03 17:07:17 +00:00
amatyuko
3ea2586a5a
Fix for SSE2 intrinsics problem in the part of saturation arithmetic processing during 32s->16u packed conversion -
...
for some big negative values less than -INT_MAX+32767 the sign of the numbers is lost due to overflow that leads to
incorrect saturation to MAX value, instead of zero.
The issue is not reproduced with CV_ENABLED_INTRINSICS=OFF
2018-08-01 16:04:08 +03:00
Alexander Alekhin
3f302cabb8
core(test): intrinsic tests for all dispatched CPU optimizations
...
- tests for both SIMD128 / SIMD256
- different dispatched + baseline(SIMD128) intrinsics
2018-08-01 13:50:42 +03:00
Alexander Alekhin
82c477c9f7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-31 21:35:00 +03:00
luz.paz
2003eb1b9b
Misc. typos
...
Found via `codespell -q 3 -I ../opencv-whitelist.txt --skip="./3rdparty"`
2018-07-31 18:44:23 +03:00
Alexander Alekhin
dbf3362c4d
Merge pull request #12056 from seiko2plus:coreExpandTests
2018-07-30 16:23:11 +00:00
Sayed Adel
6499263b41
core:test Expand hal_intrin tests to support SIMD256
2018-07-30 08:50:50 +02:00
Sayed Adel
47202b3349
core:avx2 fix unaligned store for v_store_interleave v_uint32x8-3ch
2018-07-29 18:22:46 +02:00
Maksim Shabunin
597db69151
ts: test case list is printed after cmd line parsing, refactored
2018-07-26 16:43:43 +03:00
Vadim Pisarevsky
43820d89b4
further improvements in split & merge; started using non-temporary store instructions ( #12063 )
...
* 1. changed static const __m128/256 to const __m128/256 to avoid wierd instructions and calls inserted by compiler.
2. added universal intrinsics that wrap MOVNTPS and other such (non-temporary or "no cache" store) instructions. v_store_interleave() and v_store() got respective flags/overloaded variants
3. rewrote split & merge to use the "no cache" store instructions. It resulted in dramatic performance improvement when processing big arrays
* hopefully, fixed some test failures where 4-channel v_store_interleave() is used
* added missing implementation of the new universal intrinsics (v_store_aligned_nocache() etc.)
* fixed silly typo in the new intrinsics in intrin_vsx.hpp
* still trying to fix VSX compiler errors
* still trying to fix VSX compiler errors
* still trying to fix VSX compiler errors
* still trying to fix VSX compiler errors
2018-07-26 12:04:28 +03:00
Alexander Alekhin
9787ab598b
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-24 22:48:54 +03:00
Vadim Pisarevsky
9c7040802c
converted split() & merge() to wide univ intrinsics ( #12044 )
...
* fixed/updated v_load_deinterleave and v_store_interleave intrinsics; modified split() and merge() functions to use those intrinsics
* fixed a few compile errors and bug in v_load_deinterleave(ptr, v_uint32x4& a, v_uint32x4& b)
* fixed few more compile errors
2018-07-24 17:27:56 +03:00
Maksim Shabunin
e0603bb45f
Fixed several issues found by static analysis tools
2018-07-23 17:22:47 +03:00
Alexander Alekhin
767b31cfbf
Merge pull request #12029 from tomoaki0705:fixBuildVS2013BinarySuffix
2018-07-20 11:27:27 +00:00
Tomoaki Teshima
18abe54497
fix build error on Visual Studio 2013
...
* replace binary literal prefix to hexadecimal literal prefix
2018-07-20 18:09:17 +09:00
Alexander Alekhin
7e9b5d9e30
Merge pull request #12006 from mshabunin:static-debug-assert
2018-07-19 09:36:36 +00:00
Maksim Shabunin
fe806878be
Enable debug assertions for static analysis builds
2018-07-18 15:53:16 +03:00
Tomoaki Teshima
9df7517dea
fix build error on Visual Studio 2013 and earlier
2018-07-18 12:56:02 +03:00
Alexander Alekhin
4560909a5e
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-17 19:27:48 +03:00
Alexander Alekhin
7cc84ce8ab
Merge pull request #11984 from mshabunin:fix-static-1
2018-07-17 15:40:48 +00:00
Alexander Alekhin
0a41b3df45
Merge pull request #11990 from alalek:clone_nodiscard_attribute
2018-07-17 15:34:08 +00:00
Maksim Shabunin
1da46fe6fb
Fixed issues found by static analysis (mostly DBZ)
2018-07-17 16:14:54 +03:00
Pavel Rojtberg
3f65924c45
core: FileStorage - add support for writing vector<String> with bindings ( #11883 )
...
* core: FileStorage - add support for writing vector<String> with bindings
* python: extend persistence test for string sequences
2018-07-17 13:38:48 +03:00
Vadim Pisarevsky
f058b5fb1e
Wide univ intrinsics ( #11953 )
...
* core:OE-27 prepare universal intrinsics to expand (#11022 )
* core:OE-27 prepare universal intrinsics to expand (#11022 )
* core: Add universal intrinsics for AVX2
* updated implementation of wide univ. intrinsics; converted several OpenCV HAL functions: sqrt, invsqrt, magnitude, phase, exp to the wide universal intrinsics.
* converted log to universal intrinsics; cleaned up the code a bit; added v_lut_deinterleave intrinsics.
* core: Add universal intrinsics for AVX2
* fixed multiple compile errors
* fixed many more compile errors and hopefully some test failures
* fixed some more compile errors
* temporarily disabled IPP to debug exp & log; hopefully fixed Doxygen complains
* fixed some more compile errors
* fixed v_store(short*, v_float16&) signatures
* trying to fix the test failures on Linux
* fixed some issues found by alalek
* restored IPP optimization after the patch with AVX wide intrinsics has been properly tested
* restored IPP optimization after the patch with AVX wide intrinsics has been properly tested
2018-07-16 18:57:24 +03:00
Alexander Alekhin
481829a81b
Merge pull request #11957 from alalek:issue_11956
2018-07-16 15:54:34 +00:00
Alexander Alekhin
b0ee5d9023
core: CV_NODISCARD macro with semantic of [[nodiscard]] attr
...
[[nodiscard]] is defined in C++17.
There is fallback alias for modern GCC / Clang compilers.
2018-07-16 18:03:32 +03:00
Alexander Alekhin
a5e8ae2183
Merge pull request #11969 from alalek:core_Matx_inv_solve_templates
2018-07-16 14:18:12 +00:00
Alexander Alekhin
50751ae6ff
Merge pull request #11967 from catree:add_tutorial_ml_java_python
2018-07-16 09:24:32 +00:00
Alexander Alekhin
5e31c82b5b
Merge pull request #11980 from berak:core_lda_dataAsRow
2018-07-15 14:32:15 +00:00
berak
4382bdc859
core: remove unused dataAsRow flag from LDA
2018-07-15 11:32:00 +02:00
Alexander Alekhin
3c74fde349
core: eliminate 'if' logic from Matx::inv()/solve()
...
- 'if' logic is moved into templates.
- removed unnecessary cv::Mat objects creation.
- fixed inv() test (invA * A == eye)
- added more Matx tests to cover all defined template specializations
2018-07-13 20:09:01 +03:00
catree
4dc7e617a4
Add overloaded cv::PCACompute() that returns also the eigenvalues. Useful for Java and Python OpenCV where PCA is not available.
2018-07-13 15:05:54 +02:00
Alexander Alekhin
33b7028be2
core: use "explicit" for Matx() ctor
2018-07-12 19:50:56 +00:00
Vitaly Tuzov
850a8577b2
Fixed unreachable code warnings for Matx::solve()
2018-07-12 19:19:51 +03:00
Vitaly Tuzov
d0a3686812
Merge pull request #11904 from terfendail/matx_solve_fix
...
Fixed Matx::solve function for non-square matrixes (#11904 )
2018-07-11 22:00:57 +03:00
Alexander Alekhin
fa66c6b797
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-11 12:35:10 +03:00
catree
d7bd662c95
Add a note in the documentation about Mat::ones and mat::eye. With multi-channels type (e.g. CV_8UC3), only the first channel is treated.
2018-07-10 15:35:46 +02:00
Alexander Alekhin
2da96be217
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-09 19:44:51 +03:00
Alexander Alekhin
7ba66a1682
Merge pull request #11703 from alalek:c_api_calib3d_chessboard_detector
2018-07-09 15:37:26 +00:00
Arnaud Brejeon
43f821afb9
Merge pull request #11899 from arnaudbrejeon:moveable_types
...
Add missing constructors and operator= (#11899 )
2018-07-06 23:36:08 +03:00
Alexander Alekhin
06fc77610b
core(hal): eliminate build warnings
2018-07-06 13:00:41 +03:00
Alexander Alekhin
c7fc563dc0
calib3d: chessboard detector - replace OpenCV C API
2018-07-05 13:09:10 +03:00
Alexander Alekhin
b09a4a98d4
opencv: Use cv::AutoBuffer<>::data()
2018-07-04 19:11:29 +03:00
Alexander Alekhin
135ea264ef
core: align cv::AutoBuffer API with std::vector/std::array
...
- added .data() methods
- added operator[] (int i)
- extend checks support to generic and debug-only cases
- deprecate existed operator* ()
2018-07-04 19:10:38 +03:00
Alexander Alekhin
bd8c8e720e
Merge tag '3.4.2'
2018-07-04 14:08:11 +03:00
Vadim Pisarevsky
051b40f956
a part of PR #11364 (extended findNonZero & PSNR) ( #11837 )
...
* a part of https://github.com/opencv/opencv/pull/11364 by Tetragramm. Rewritten and extended findNonZero & PSNR to support more types, not just 8u.
* fixed compile & doxygen warnings
* fixed small bug in findNonZero test
2018-06-26 17:10:00 +03:00
Philipp Hasper
577546ccd9
Added Size_::aspectRatio
2018-06-15 14:59:54 +02:00
Alexander Alekhin
d69a327d6d
OpenCV version++
...
OpenCV 3.4.2
2018-06-10 10:20:38 +03:00
Alexander Alekhin
45dd575ed2
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
...
Revert "documentation: avoid links to 'master' branch from 3.4 maintenance branch"
This reverts commit 9ba9358ecb
.
Revert "documentation: avoid links to 'master' branch from 3.4 maintenance branch (2)"
This reverts commit f185802489
.
2018-06-04 19:26:10 +03:00
Vadim Pisarevsky
ccbc0b91ea
Merge pull request #11654 from alalek:issue_11648
2018-06-04 10:22:44 +00:00
Paul Jurczak
bd7bad02a0
convertFp16 documentation edit (2)
...
If this seems too wordy, take into account a new user who tries to find out extent of FP16 support in OpenCV.
2018-06-01 04:15:21 -06:00
Alexander Alekhin
03edddba47
core: drop unnecessary duplicate check
2018-06-01 12:31:48 +03:00
Vadim Pisarevsky
7d19bd6c19
Merge pull request #11634 from vpisarev:empty_mat_with_types_2
...
fixes handling of empty matrices in some functions (#11634 )
* a part of PR #11416 by Yuki Takehara
* moved the empty mat check in Mat::copyTo()
* fixed some test failures
2018-05-31 16:36:39 +00:00
Alexander Alekhin
5c80763a71
Merge pull request #11601 from alalek:calib3d_replace_findContours
2018-05-30 15:35:49 +00:00
Alexander Alekhin
d70e01b635
calib3d: chess board - replace to cv::findContours()
2018-05-29 14:16:20 +00:00
Alexander Alekhin
549b5df225
build: workaround issues with C compilation mode
...
- cvdef.h + cvRound (double only)
- highgui_c.h
2018-05-28 18:07:23 +03:00
Alexander Alekhin
0f298a4203
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-05-28 11:22:55 +00:00
Namgoo Lee
79af0bfccf
NPP : NppStreamHandler fix
2018-05-23 15:54:39 +09:00
Alexander Alekhin
db88cd1b25
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-05-21 16:20:14 +03:00
Tomoaki Teshima
e2c787884d
fix the test failure of CUDA_Arithm/MeanStdDev
2018-05-20 19:38:02 +09:00
Vadim Pisarevsky
e0dbe5cfcc
handle huge matrices correctly ( #11505 )
...
* make sure that the matrix with more than INT_MAX elements is marked as non-continuous, and thus all the pixel-wise functions process it correctly (i.e. row-by-row, not as a single row, where integer overflow may occur when computing the total number of elements)
2018-05-14 15:29:14 +03:00
Alexander Alekhin
51e543050c
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-05-10 18:19:56 +03:00
Alexander Alekhin
352510cc19
core: fix ARM intrinsincs
...
'0' is specific case (make no sence as a standalone operation),
but it can be useful in template-based programming.
reverts commit: a58c9d4d63
2018-05-09 23:31:02 +03:00
Sayed Adel
ed19da21ab
core:ppc Several improvements on VSX(2)
...
* add v_float64x2 support to v_rotate_*
* treat float vector in v_check_any, vec_any_lt as int vector
* add test case for v_rotate_left
2018-05-04 23:09:38 +00:00