Alexander Alekhin
92925e846d
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-12-29 15:22:13 +00:00
Alexander Alekhin
c5a86c22a4
core(ocl): add option to abort on OpenCL kernel build failure
...
- exceptions are catched by fallback CPU path
- OPENCV_OPENCL_ABORT_ON_BUILD_ERROR (disabled by default)
2021-12-29 00:04:45 +00:00
Rostislav Vasilikhin
9d6f388809
Merge pull request #21018 from savuor:levmarqfromscratch
...
New LevMarq implementation
* Hash TSDF fix: apply volume pose when fetching pose
* DualQuat minor fix
* Pose Graph: getEdgePose(), getEdgeInfo()
* debugging code for pose graph
* add edge to submap
* pose averaging: DualQuats instead of matrix averaging
* overlapping ratio: rise it up; minor comment
* remove `Submap::addEdgeToSubmap`
* test_pose_graph: minor
* SparseBlockMatrix: support 1xN as well as Nx1 for residual vector
* small changes to old LMSolver
* new LevMarq impl
* Pose Graph rewritten to use new impl
* solvePnP(), findHomography() and findExtrinsicCameraParams2() use new impl
* estimateAffine...2D() use new impl
* calibration and stereo calibration use new impl
* BundleAdjusterBase::estimate() uses new impl
* new LevMarq interface
* PoseGraph: changing opt interface
* findExtrinsicCameraParams2(): opt interface updated
* HomographyRefine: opt interface updated
* solvePnPRefine opt interface fixed
* Affine2DRefine opt interface fixed
* BundleAdjuster::estimate() opt interface fixed
* calibration: opt interface fixed + code refactored a little
* minor warning fixes
* geodesic acceleration, Impl -> Backend rename
* calcFunc() always uses probe vars
* solveDecomposed, fixing negation
* fixing geodesic acceleration + minors
* PoseGraph exposes its optimizer now + its tests updated to check better convegence
* Rosenbrock test added for LevMarq
* LevMarq params upgraded
* Rosenbrock can do better
* fixing stereo calibration
* old implementation removed (as well as debug code)
* more debugging code removed
* fix warnings
* fixing warnings
* fixing Eigen dependency
* trying to fix Eigen deps
* debugging code for submat is now temporary
* trying to fix Eigen dependency
* relax sanity check for solvePnP
* relaxing sanity check even more
* trying to fix Eigen dependency
* warning fix
* Quat<T>: fixing warnings
* more warning fixes
* fixed warning
* fixing *KinFu OCL tests
* algo params -> struct Settings
* Backend moved to details
* BaseLevMarq -> LevMarqBase
* detail/pose_graph.hpp -> detail/optimizer.hpp
* fixing include stuff for details/optimizer.hpp
* doc fix
* LevMarqBase rework: Settings, pImpl, Backend
* Impl::settings and ::backend fix
* HashTSDFGPU fix
* fixing compilation
* warning fix for OdometryFrameImplTMat
* docs fix + compile warnings
* remake: new class LevMarq with pImpl and enums, LevMarqBase => detail, no Backend class, Settings() => .cpp, Settings==() removed, Settings.set...() inlines
* fixing warnings & whitespace
2021-12-27 21:51:32 +00:00
Alexander Alekhin
db172d1053
Merge tag '4.5.5'
2021-12-25 11:22:16 +00:00
Alexander Alekhin
dad26339a9
release: OpenCV 4.5.5
2021-12-25 03:53:27 +00:00
Rostislav Vasilikhin
3048188b5b
Merge pull request #21319 from savuor:backport_levmarqfromscratch
...
Warning fixes for quaternion headers
* warning fixes for quaternion headers
* a/T(x) => a * T(1/x)
2021-12-24 23:00:21 +00:00
Alexander Alekhin
217fea9667
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-12-24 16:48:07 +00:00
Alexander Alekhin
523c3cd50b
Merge tag '3.4.17'
2021-12-24 16:45:05 +00:00
Alexander Alekhin
631126c77a
release: OpenCV 3.4.17
2021-12-24 16:39:15 +00:00
Alexander Alekhin
cdfa8a668b
python: use '((x,y), (w,h), angle)' in std::vector<RotatedRect>
2021-12-24 15:01:45 +00:00
Alexander Alekhin
9777fbacf6
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-12-22 15:57:02 +00:00
Alexander Alekhin
c78a8dfd2d
fix 4.x links
2021-12-22 13:24:30 +00:00
dwardor
54c180092d
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
2021-12-22 12:00:00 +00:00
Alexander Alekhin
c80b270678
cmake: force lowercase plugins internal names
2021-12-21 16:34:48 +00:00
Alexander Alekhin
07dca8cc03
pre: OpenCV 4.5.5 (version++)
2021-12-17 10:12:11 +00:00
Alexander Alekhin
60c093f086
pre: OpenCV 3.4.17 (version++)
2021-12-17 10:05:52 +00:00
rogday
692059e899
initialize members
2021-12-13 18:41:23 +03:00
Alexander Alekhin
d24befa0bc
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-12-11 15:18:57 +00:00
Vincent Rabaud
6b4ea68bc7
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.
2021-12-09 12:04:26 +01:00
Alexander Alekhin
65392d5e6b
cmake: fix OPENGL_LIBRARIES handling
2021-12-07 12:12:42 +00:00
Baiyun-u-smartAI
b167115b5b
fixed an error ------Context::p is protected whinin this context
2021-12-06 14:09:50 +08:00
HAN Liutong
4935b14539
Merge pull request #21012 from hanliutong:rvv_clang
...
Update RVV backend for using Clang.
* Update cmake file of clang.
* Modify the RVV optimization on DNN to adapt to clang.
* Modify intrin_rvv: Disable some existing types.
* Modify intrin_rvv: Reinterpret instead of load&cast.
* Modify intrin_rvv: Update load&store without cast.
* Modify intrin_rvv: Rename vfredsum to fredosum.
* Modify intrin_rvv: Rewrite Check all/any by using vpopc.
* Modify intrin_rvv: Use reinterpret instead of c-style casting.
* Remove all macros which is not used in v_reinterpret
* Rename vpopc to vcpop according to spec.
2021-12-03 15:13:24 +00:00
Alexander Alekhin
8b4fa2605e
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-12-03 12:32:49 +00:00
rogday
f044037ec5
Merge pull request #20733 from rogday:argmaxnd
...
Implement ArgMax and ArgMin
* add reduceArgMax and reduceArgMin
* fix review comments
* address review concerns
2021-11-28 16:17:46 +00:00
Suleyman TURKMEN
4f0fe1de96
clean up c-api
2021-11-28 12:09:34 +03:00
yuki takehara
a6277370ca
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
2021-11-27 18:34:52 +00:00
Alexander Alekhin
57ee14d62d
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-11-27 16:50:55 +00:00
Alexander Alekhin
61f1ee2d2d
core(logger): dump timestamp information with message
2021-11-20 15:34:23 +00:00
Alexander Alekhin
091461cece
Merge pull request #21081 from alalek:issue_17261
2021-11-18 18:23:00 +00:00
Alexander Alekhin
d228c5459d
core: avoid using of 'check' identifier
2021-11-18 16:02:59 +00:00
Alexander Alekhin
394e640909
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-11-13 15:11:30 +00:00
Alexander Alekhin
827ff80c06
Merge pull request #20977 from JulieBar:remap_overflow
2021-11-11 22:06:16 +00:00
Alexander Alekhin
f33828a1ca
Merge pull request #20870 from pkubaj:master
2021-11-10 16:08:20 +00:00
Piotr Kubaj
68e425f869
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.
2021-11-10 13:28:09 +00:00
Alexander Alekhin
7842181b47
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-11-05 09:27:46 +00:00
Alexander Alekhin
2ce47fda88
Merge pull request #21011 from vrabaud:3.4
2021-11-05 09:25:50 +00:00
Vincent Rabaud
ffd010767f
Only use fma functions when CV_FMA3 is set.
...
In practice, processors offering AVX2/AVX512 also FMA, that is why it got unnoticed.
2021-11-04 23:15:49 +01:00
Alexander Alekhin
7b57df02a7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-10-30 14:26:17 +00:00
Alexander Alekhin
40c748a2ae
python: properly handle step for multichannel case
2021-10-29 18:29:19 +00:00
Julie Bareeva
69d0bc8fd5
Added overflow handling during conversion from float to int for LinearFilter
2021-10-29 19:46:11 +03:00
Alexander Alekhin
74cc63ba2f
Merge pull request #20969 from alalek:fix_msvc_clang_warning_noreturn
2021-10-28 23:00:49 +00:00
Alexander Alekhin
0b6e360602
Merge pull request #20967 from alalek:fix_msvc_clang_unused_parameter
2021-10-28 22:27:41 +00:00
Alexander Alekhin
a49cda6523
core: eliminate Winvalid-noreturn in base.hpp
2021-10-28 21:33:20 +00:00
Alexander Alekhin
d612c72405
build: fix MSVC-Clang warnings about unused parameters in stubs
2021-10-28 21:08:36 +00:00
Alexander Alekhin
6bd143dd25
Merge pull request #20961 from alalek:fix_msvc_clang
2021-10-28 13:54:24 +00:00
Alexander Alekhin
75e2ba5af3
core(simd): fix compilation with MSVC-Clang
2021-10-28 11:25:00 +00:00
Alexander Alekhin
1726bb6c0d
build(icc): fix nodiscard attribute handling
2021-10-28 05:52:22 +00:00
Alexander Alekhin
6a2077cbd8
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-10-23 15:33:31 +00:00
Alexander Alekhin
c0c71d6b3a
Merge pull request #20920 from alalek:hotfix_clang_abi
2021-10-21 11:35:58 +00:00
Alexander Alekhin
bac1c6d12f
hotfix: repair Clang ABI
2021-10-21 09:36:25 +00:00
Alexander Alekhin
fce4a19d0d
5.x: cleanup compatibility code (2021-10)
2021-10-20 17:40:04 +00:00
Zhuo Zhang
7da51787b9
Merge pull request #20900 from zchrissirhcz:3.4-hwfeatures-support-qnx
...
* fix: correctly check neon flags for QNX platform
* refactor: change __QNXNTO__ to __QNX__
2021-10-19 13:30:27 +00:00
Alexander Alekhin
b1f422c1c5
Merge pull request #20894 from alalek:core_simd_int64_ctor_sse
2021-10-19 13:29:52 +00:00
Alexander Alekhin
b5fcb06a76
core(SIMD): update int64 SSE constructor
2021-10-18 18:59:40 +00:00
Sergiu Deitsch
f8f9f3c438
fixed AVX compile error
...
Some older compilers do not allow to pass a `const int` as an immediate. Use an unnamed enum instead.
2021-10-18 14:56:19 +02:00
Alexander Alekhin
7ba26ada12
Merge branch 4.x
2021-10-15 21:53:39 +00:00
Alexander Alekhin
31c40fa4cc
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-10-15 13:35:03 +00:00
Alexander Alekhin
982503e9a8
core: ensure 'int' result from CV_POPCNT_U64(x)
2021-10-13 01:14:37 +00:00
Alexander Alekhin
8c7dc1f6b7
core: OPENCV_ABI_COMPATIBILITY=500
2021-10-12 12:07:12 +03:00
Alexander Alekhin
39c3334147
Merge tag '4.5.4'
2021-10-10 00:22:46 +00:00
Alexander Alekhin
4223495e6c
release: OpenCV 4.5.4
2021-10-09 15:48:26 +00:00
Alexander Alekhin
39ee5c5a46
plugins: reverse candidates order to fetch higher versions first
2021-10-08 20:34:07 +00:00
Alexander Alekhin
62252d157e
Merge tag '3.4.16'
2021-10-08 19:05:00 +00:00
Alexander Alekhin
b1cf550123
release: OpenCV 3.4.16
2021-10-08 18:31:56 +00:00
Alexander Alekhin
cca4c47781
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-10-08 11:05:45 +00:00
Alexander Alekhin
17bd9a1fa1
Merge pull request #20841 from alalek:core_keep_TlsAbstraction_singleton_3.4
2021-10-08 07:01:05 +00:00
Alexander Alekhin
4985311d46
core(tls): avoid destruction of TlsAbstraction singleton
2021-10-08 03:12:58 +00:00
Alexander Alekhin
e75387f029
core: fix compilation of copy ctors/assignment operators with GCC 4.x
2021-10-08 00:49:30 +00:00
Alexander Alekhin
27545dcc86
core: add __NetBSD__ build fix in parallel.cpp
2021-10-07 23:29:28 +00:00
Alexander Alekhin
03a08435e2
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-10-07 04:27:22 +00:00
Alexander Alekhin
eab2b9dc09
core: ensure is_trivially_copyable for simple types
2021-10-06 21:39:53 +00:00
Alexander Alekhin
e585192eeb
Merge pull request #20802 from alalek:core_tls_init_TlsAbstraction
2021-10-06 12:01:06 +00:00
Alexander Alekhin
13c6eb42e9
Merge pull request #20731 from komakai:matrix_mult_android_ios
2021-10-05 15:35:58 +00:00
Giles Payne
19a880bb91
Simple matrix multiplication for Mat in iOS/Android
2021-10-05 20:16:06 +09:00
Alexander Alekhin
3e6f27522b
pre: OpenCV 4.5.4 (version++)
2021-10-04 22:35:47 +00:00
Alexander Alekhin
ebef84e9ea
pre: OpenCV 3.4.16 (version++)
2021-10-04 20:47:07 +00:00
Alexander Alekhin
87d4970e8b
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-10-04 19:50:01 +00:00
Alexander Alekhin
d20c9bde7e
core(TLS): force TlsAbstraction initialization before main()
2021-10-04 11:34:09 +00:00
Alexander Alekhin
62414e3073
core(parallel): suppress TSAN warning
2021-10-04 10:46:32 +00:00
Alexander Alekhin
280dc77f8b
Merge pull request #20761 from komakai:fix_rect2f
2021-09-28 15:01:00 +00:00
Giles Payne
27df987211
Fix bug in initializers Rect2f(Point2f,Point2f) and Rect2d(Point2d,Point2d)
2021-09-28 20:31:07 +09:00
Alexander Alekhin
98ad72b096
Merge pull request #20558 from alalek:python_cv_mat
2021-09-26 17:40:54 +00:00
Alexander Alekhin
24fcb7f813
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-09-25 17:50:00 +00:00
Alexander Alekhin
998406d20e
Merge pull request #20729 from MikaelUrankar:3.4
2021-09-21 22:30:49 +00:00
mikael
f7b4b750d8
Detect FP16 on FreeBSD aarch64
2021-09-21 19:48:58 +02:00
Alexander Alekhin
2558ab3de7
Merge pull request #20716 from komakai:fix_ios_macos_put_get
2021-09-21 15:31:36 +00:00
Alexander Alekhin
0c10ae1861
python: cv.Mat wrapper over numpy.ndarray
2021-09-21 04:14:15 +00:00
Giles Payne
b3cc828995
Fix put/get functions for non-contiguous Mat on iOS/macOS
2021-09-20 22:44:13 +09:00
Vadim Levin
3c89a28a06
Merge pull request #20611 from VadimLevin:dev/vlevin/pure-python-modules
...
* feat: OpenCV extension with pure Python modules
* feat: cv2 is now a Python package instead of extension module
Python package cv2 now can handle both Python and C extension modules
properly without additional "subfolders" like "_extra_py_code".
* feat: can call native function from its reimplementation in Python
2021-09-18 10:02:55 +03:00
Alexander Alekhin
c3ac834526
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-09-11 21:27:26 +00:00
Alexander Alekhin
56b7622612
Merge pull request #20687 from alalek:core_ocl_fix_intel_gemm
2021-09-11 16:26:25 +00:00
Alexander Alekhin
07e4076585
Merge pull request #20689 from diablodale:fix20613-selectocldevice
2021-09-10 22:26:36 +00:00
Dale Phurrough
de1a459879
fix opencv/opencv#20613
...
* copy 4.x selectOpenCLDevice() -- it is compatible
* filter platforms rather than trying only first matching
* this works on 3.4 and 4.x master
2021-09-10 21:18:01 +02:00
Alexander Alekhin
9b4ecc96f6
core(ocl): buffer bounds in intelblas_gemm_buffer_NT
2021-09-10 12:10:41 +00:00
Alexander Alekhin
e3f4f874c5
Merge pull request #20670 from alalek:core_ocl_fix_intel_gpu_gemm_requirements
...
core(OpenCL): fix intel_gpu_gemm kernel requirements
* core(ocl): fix intel_gpu_gemm integration
- allow bailout to generic OpenCL kernel
* core(ocl): avoid failures of generic OpenCL gemm kernel
* core(ocl): define alignment requirements of intel_gpu_gemm kernels
2021-09-10 12:00:11 +00:00
Alexander Alekhin
5578ad5e14
dnn(ocl): fix automatic globalsize adjusting
...
- if kernel code doesn't support that
2021-09-06 03:11:29 +00:00
Alexander Alekhin
aaff125608
core(ocl): debug capabilities
2021-09-04 15:37:39 +00:00
Alexander Alekhin
5aa7435d25
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2021-09-02 15:24:04 +00:00
Alexander Alekhin
6625810d2a
Merge pull request #20618 from VadimLevin:dev/vlevin/fix-vector-conversion
2021-09-01 10:52:37 +00:00
Vadim Levin
16b9514543
feat: update conversion logic for std::vector<T>
in Python bindings
...
`PyObject*` to `std::vector<T>` conversion logic:
- If user passed Numpy Array
- If array is planar and T is a primitive type (doesn't require
constructor call) that matches with the element type of array, then
copy element one by one with the respect of the step between array
elements. If compiler is lucky (or brave enough) copy loop can be
vectorized.
For classes that require constructor calls this path is not
possible, because we can't begin an object lifetime without hacks.
- Otherwise fall-back to general case
- Otherwise - execute the general case:
If PyObject* corresponds to Sequence protocol - iterate over the
sequence elements and invoke the appropriate `pyopencv_to` function.
`std::vector<T>` to `PyObject*` conversion logic:
- If `std::vector<T>` is empty - return empty tuple.
- If `T` has a corresponding `Mat` `DataType` than return
Numpy array instance of the matching `dtype` e.g.
`std::vector<cv::Rect>` is returned as `np.ndarray` of shape `Nx4` and
`dtype=int`.
This branch helps to optimize further evaluations in user code.
- Otherwise - execute the general case:
Construct a tuple of length N = `std::vector::size` and insert
elements one by one.
Unnecessary functions were removed and code was rearranged to allow
compiler select the appropriate conversion function specialization.
2021-09-01 13:00:21 +03:00