Commit Graph

34662 Commits

Author SHA1 Message Date
Rostislav Vasilikhin
64d3111377
Merge pull request #26459 from savuor:rv/hal_absdiff_scalar
HAL added for absdiff(array, scalar) + related fixes #26459

### This PR changes
* HAL for `absdiff` when one of arguments is a scalar, including multichannel arrays and scalars
* several channels support for HAL `addScalar`
* proper data type check for `addScalar` when one of arguments is a scalar

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [ ] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
2024-11-19 10:35:49 +03:00
Alexander Smorkalov
64273c8a5b
Merge pull request #26461 from vrabaud:4x_calibration_base
Remove internal calib3d_c_api.h
2024-11-19 09:45:10 +03:00
Alexander Smorkalov
1b0d58a554
Merge pull request #26468 from savuor:rv/warp_perspective_test_border
warpPerspective test: borderType argument fixed
2024-11-18 11:41:18 +03:00
Alexander Smorkalov
474028ea87
Merge pull request #26478 from xkszltl:exr_ver
Check existence of OpenEXR version macros before using.
2024-11-18 11:03:34 +03:00
xkszltl
d0c8b36de8
Check existence of OpenEXR version macros before using.
It is introduced in 2.0.1 (not even in 2.0.0) and some old system like CentOS 7 still has 1.7 in stock.
- 60cdff8a6f (diff-c4bae0726aebe410e407db9abd406d9cf2684f82dd8a08f46d84e8b7c35cf22aR67)
2024-11-17 18:37:13 -08:00
Rostislav Vasilikhin
21cb138be8 warpPerspective border type test 2024-11-15 19:28:16 +01:00
Vincent Rabaud
8c6339c04d Remove internal calib3d_c_api.h
The new C++ code is copy/pasted from OpenCV5:
- functions initIntrinsicParams2D, subMatrix (the first 160 lines)
- function prepareDistCoeffs
- the different asserts

Not all the API/code is ported to C++ yet to ease the review.
2024-11-15 09:31:30 +01:00
Alexander Smorkalov
4866811933
Merge pull request #26155 from mshabunin:dnn-dispatch
dnn: use dispatching for Winograd optimizations
2024-11-14 21:28:42 +03:00
Alexander Smorkalov
3dace76c3f
Merge pull request #26462 from mshabunin:cleanup-flann-hdf5
flann: remove unused hdf5 header
2024-11-14 21:21:27 +03:00
Maksim Shabunin
b7e609d5e8 flann: remove unused hdf5 header 2024-11-14 19:44:10 +03:00
Alexander Smorkalov
e5a8e2ac79
Merge pull request #26460 from asmorkalov:as/core_c_removal_packport
Backport some of C API removal in core module implementation.
2024-11-14 18:55:53 +03:00
Alexander Smorkalov
1ff16cb551 Backport some of C API removal in core module implementation. 2024-11-14 11:24:00 +03:00
Alexander Smorkalov
e1d66643b3
Merge pull request #26303 from asmorkalov:as/kleidicv_offline
Skip KleidiCV in offline build
2024-11-13 20:05:13 +03:00
Alexander Smorkalov
11a4a06fa4
Merge pull request #26181 from sturkmen72:png_exif_test
Enable PNG exif orientation test
2024-11-13 16:57:18 +03:00
Alexander Smorkalov
1a775198ce Skip KleidiCV in offline build. 2024-11-13 15:13:19 +03:00
Rostislav Vasilikhin
67f07b16cb
Merge pull request #25624 from savuor:rv/hal_addscalar
HAL added for add(array, scalar) #25624

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [ ] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
2024-11-13 08:33:19 +03:00
Alexander Smorkalov
8fe70a1877
Merge pull request #26452 from BillyONeal:add-windows-sdk-note
Add note for people debugging DirectML detection failures to check their Windows SDK version.
2024-11-13 08:27:57 +03:00
Billy Robert O'Neal III
5f95827a5f Add note for people debugging DirectML detection failures to check their Windows SDK version.
DirectML was first included with 10.0.18362.0, but dxcore.lib necessary to make the check pass was first in 10.0.19041.0.
2024-11-12 11:57:39 -08:00
Alexander Smorkalov
ff639d11d4
Merge pull request #26451 from savuor:rv/fix_get_handle
Build fix for opencl_core.cpp
2024-11-12 20:50:48 +03:00
Rostislav Vasilikhin
641f43dd48 build fix 2024-11-12 17:04:42 +01:00
Dmitry Kurtaev
c230841105
Merge pull request #26446 from dkurt:file_storage_empty_and_1d_mat
* Change style of empty and 1d Mat in FileStorage

* Remove misleading 1d Mat test
2024-11-12 17:51:10 +03:00
Dmitry Kurtaev
37c2af63f0
Merge pull request #26434 from dkurt:dk/int64_file_storage_4.x
int64 data type support for FileStorage. 1d and empty Mat with exact dimensions #26434

### Pull Request Readiness Checklist

Port of https://github.com/opencv/opencv/pull/26399 to 4.x branch

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
2024-11-11 14:13:33 +03:00
Vincent Rabaud
6f8c3b13d8
Merge pull request #26437 from vrabaud:4x_calibration_base
Backport C++ stereo/stereo_geom.cpp:5.x to calib3d/stereo_geom.cpp:4.x #26437

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
2024-11-11 10:22:56 +03:00
Alexander Smorkalov
3fddea2ade
Merge pull request #26435 from vrabaud:4x_calibration_base
Remove unused internal C functions
2024-11-08 14:43:30 +03:00
Vincent Rabaud
3d89824423 Remove unused internal C functions 2024-11-08 10:27:02 +01:00
Vincent Rabaud
6873bdee70
backport C++ 3d/calibration_base.cpp:5.x to calib3d/calibration_base.cpp:4.x (#26414)
* Add vanilla calibration_base from 5.x

This is from 55105719dd

* Have the C implementation use the new C++ one.
2024-11-08 11:56:49 +03:00
Maksim Shabunin
9d64e2959f dnn: use dispatcher for Winograd 2024-11-07 10:51:16 +03:00
Alexander Smorkalov
5817b562b3
Merge pull request #26364 from plctlab:rvp_pt2
3rdparty: NDSRVP - Part 2.1: Filter-Related Functions
2024-11-05 18:53:00 +03:00
Alexander Smorkalov
c287423b33
Merge pull request #26331 from mshabunin:fix-unified-getenv
build: made environment access a separate feature
2024-11-05 11:03:11 +03:00
Alexander Smorkalov
c3747a6847
Merge pull request #26402 from asmorkalov:as/win_uwp_ci
Added Universal Windows Package build to CI.
2024-11-02 13:05:05 +03:00
Alexander Smorkalov
9b635da563 Added Universal Windows Package build to CI. 2024-11-02 12:20:13 +03:00
Alexander Smorkalov
ee95bfe244
Merge pull request #26203 from FantasqueX:generic-simd-warpAffineBlocklineNN
Use generic SIMD in warpAffineBlocklineNN
2024-11-01 11:16:51 +03:00
Alexander Smorkalov
ddc03c0769
Merge pull request #26390 from asmorkalov:as/kleidicv_no_sme2
Disable SME2 branches in KleidiCV as it's incompatible with some CLang versions, e.g. NDK 28b1
2024-10-31 14:09:24 +03:00
Alexander Smorkalov
cf87380fad Disable SME2 branches in KleidiCV as it's incompatible with some CLang versions, e.g. NDK 28b1. 2024-10-31 08:14:30 +03:00
Alexander Smorkalov
725ce48837
Merge pull request #26388 from vrabaud:4_8u
Fix test typo.
2024-10-31 07:58:24 +03:00
Maksim Shabunin
04818d6dd5 build: made environment access a separate feature 2024-10-30 18:37:22 +03:00
Vincent Rabaud
265a2c39b2 Fix test typo. 2024-10-30 15:05:30 +01:00
Alexander Smorkalov
2756c20e3e
Merge pull request #26384 from mshabunin:fix-winrt-warnings-2
WinRT/UWP build: fix more warnings in media part
2024-10-30 16:04:32 +03:00
Maksim Shabunin
7654d06b83 WinRT/UWP build: fix more warnings in media part 2024-10-29 19:19:09 +03:00
Alexander Smorkalov
41489f983d
Merge pull request #26381 from dkurt:dk/hotfix_dnn_debug
Hotfix ie_ngraph.cpp in Debug
2024-10-29 12:33:08 +03:00
Dmitry Kurtaev
0e80a97f87
Hotfix ie_ngraph.cpp in Debug 2024-10-29 10:20:51 +03:00
Oちゃん
8791cd147c
Merge pull request #26374 from OrkWard:fix-js-build-script
Fix incorrect string format in js build script #26374

I accidentally met this small problem mentioned in https://github.com/opencv/opencv/pull/25084#discussion_r1710838120 when play with wasm build. It seems https://github.com/EDVTAZ didn't fix it yet, so I create this tiny pr.

Additionally, I remove a redundant argument in `add_argument` call. `'store_true'` already set the default, see https://docs.python.org/3/library/argparse.html#action.

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2024-10-28 17:07:15 +03:00
Junyan721113
bf7ab8eebd feat: medianBlur & bilateralFilter 2024-10-28 17:54:45 +08:00
Alexander Smorkalov
dd08328228
Merge pull request #26368 from hanliutong:rvv-hal-license
Add the missing license header in hal_rvv.
2024-10-26 09:36:07 +03:00
Alexander Smorkalov
24a497acd8
Merge pull request #26370 from mshabunin:fix-winrt-warnings
WinRT/UWP build: fix some specific warnings
2024-10-26 09:34:00 +03:00
Maksim Shabunin
52100328d8 WinRT/UWP build: fix some specific warnings 2024-10-25 22:32:44 +03:00
Liutong HAN
515b4a2689 Add the missing license description. 2024-10-25 11:37:07 +00:00
Alexander Smorkalov
e4bcd46f64
Merge pull request #26356 from hardikkamboj:4.x
Update py_thresholding.markdown
2024-10-24 12:39:43 +03:00
Liutong HAN
35571be570
Merge pull request #26318 from hanliutong:rvv-intrin-m2
Use LMUL=2 in the RISC-V Vector (RVV) backend of Universal Intrinsic. #26318

The modification of this patch involves the RVV backend of Universal Intrinsic, replacing `LMUL=1` with `LMUL=2`.

Now each Universal Intrinsic type actually corresponds to two RVV vector registers, and each Intrinsic function also operates two vector registers. Considering that algorithms written using Universal Intrinsic usually do not use the maximum number of registers, this can help the RVV backend utilize more register resources without modifying the algorithm implementation

This patch is generally beneficial in performance.

We compiled OpenCV with `Clang-19.1.1` and `GCC-14.2.0` , ran it on `CanMV-k230` and `Banana-Pi F3`. Then we have four scenarios on combinations of compilers and devices. In `opencv_perf_core`, there are 3363 cases, of which:
- 901 (26.8%) cases achieved more than `5%` performance improvement in all four scenarios, and the average speedup of these test cases (compared to scalar) increased from `3.35x` to `4.35x`
- 75 (2.2%) cases had more than `5%` performance loss in all four scenarios, indicating that these cases are better with `LMUL=1` instead of `LMUL=2`. This involves `Mat_Transform`, `hasNonZero`, `KMeans`, `meanStdDev`, `merge` and `norm2`. Among them, `Mat_Transform` only has performance degradation in a few cases (`8UC3`), and the actual execution time of `hasNonZero` is so short that it can be ignored. For `KMeans`, `meanStdDev`, `merge` and `norm2`, we should be able to use the HAL to optimize/restore their performance. (In fact, we have already done this for `merge`  #26216 )

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [ ] The PR is proposed to the proper branch
- [ ] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2024-10-24 10:08:43 +03:00
Alexander Smorkalov
331412dfad
Merge pull request #26357 from dkurt:dkurt/ov_out_names_from_graph
OpenVINO friendly output names from non-compiled Model
2024-10-23 13:42:01 +03:00