Commit Graph

34997 Commits

Author SHA1 Message Date
Alexander Smorkalov
ff9820ea5c
Merge pull request #26251 from asmorkalov:as/reshape_umat_0d
Relax conditions to allow 0d reshape for UMat.
2024-10-04 20:27:29 +03:00
Alexander Smorkalov
91775af2dd
Merge pull request #26248 from asmorkalov:as/multiview_split
Multiple calibrateMultiview improvements.
2024-10-04 16:37:15 +03:00
Alexander Smorkalov
b03dd764a1 Relax conditions to allow 0d reshape for UMat. 2024-10-04 16:32:59 +03:00
Alexander Smorkalov
110b701bba Multiple calibrateMultiview improvements.
- Added function overload for the simple case
- Added CV_Bool type support for masks
- `parallel_for_` for intrinsics calibration for faster inference
- Homogenize parameters order with other calibrateXXX functions
2024-10-04 14:07:17 +03:00
Yuantao Feng
97681bdfce
Merge pull request #25984 from fengyuentau:imgproc/warpaffine_opt
imgproc: add optimized warpAffine kernels for 8U/16U/32F + C1/C3/C4 inputs #25984

Merge wtih https://github.com/opencv/opencv_extra/pull/1198.
Merge with https://github.com/opencv/opencv_contrib/pull/3787.


### 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-10-03 14:01:36 +03:00
Alexander Smorkalov
ebf11d36f4
Merge pull request #26231 from asmorkalov:as/multiview_hetero
Heterogenious cameras support in multiview calibration.
2024-10-02 17:49:27 +03:00
Alexander Smorkalov
ae52db549d Heterogenious cameras support in multiview calibration. 2024-10-02 10:33:01 +03:00
Alexander Smorkalov
916fb7df16
Merge pull request #26225 from mshabunin:cpp-imgcodecs
C-API cleanup: removed legacy headers in imgcodecs
2024-10-02 08:14:32 +03:00
Alexander Smorkalov
a669c5cb03
Merge pull request #26229 from mshabunin:cpp-photo
C-API cleanup: inpaint algorithms in photo (5.x)
2024-10-02 08:11:52 +03:00
Alexander Smorkalov
886934dba8
Merge pull request #26227 from mshabunin:cpp-features2d
C-API cleanup: use AutoBuffer in MSER (5.x)
2024-10-02 08:10:35 +03:00
Maksim Shabunin
2688248df7 C-API cleanup: inpaint algorithms in photo 2024-10-01 20:06:14 +03:00
Maksim Shabunin
6f18a10012 C-API cleanup: use AutoBuffer in MSER 2024-10-01 18:42:28 +03:00
Maksim Shabunin
5901170c78 C-API cleanup: removed legacy headers in imgcodecs 2024-10-01 18:34:35 +03:00
Alexander Smorkalov
3bcab8db0a
Merge pull request #26221 from asmorkalov:as/refactor_multiview_interface
Reworked multiview calibration interface #26221

- Use InputArray / OutputArray
- Use enum for camera type
- Sort parameters according guidelines
- Made more outputs optional
- Introduce flags and added tests for intrinsics and extrinsics guess.

### 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-01 16:53:16 +03:00
Alexander Smorkalov
6c743f8e4b
Merge pull request #26213 from asmorkalov:as/register_hetero
registerCameras test for heterogenious pinhone + fisheye setup.
2024-09-30 15:49:34 +03:00
Alexander Smorkalov
6ed4e7acae registerCameras test for heterogenious pinhone + fisheye setup. 2024-09-30 12:38:15 +03:00
Alexander Smorkalov
6dcf6d9dd1
Merge pull request #26188 from asmorkalov:as/multiview_calib_accuracy_test
Multi-camera calibration tests with real cameras.
2024-09-28 09:53:01 +03:00
Alexander Smorkalov
e66d38e15f
Merge pull request #26190 from mshabunin:fix-rvv-fp16-support
build: enable RISC-V FP16 support in the toolchain
2024-09-25 22:57:12 +03:00
Alexander Smorkalov
51ace51ea5
Merge pull request #26189 from mshabunin:fix-intrin-ops-5.x
build: fix AVX2/AVX512 builds failed due to intrinsics operator usage (5.x)
2024-09-25 22:56:15 +03:00
Alexander Smorkalov
0fa4b0ead2 Multi-camera calibration tests with real cameras. 2024-09-25 22:54:10 +03:00
Maksim Shabunin
bd26d02908 build: enable RISC-V FP16 support in the toolchain 2024-09-25 20:01:29 +03:00
Maksim Shabunin
4a81b4e51f build: fix AVX2/AVX512 builds failed due to intrinsics operator usage 2024-09-25 19:48:17 +03:00
Gursimar Singh
f9a297e52c
Merge pull request #26186 from gursimarsingh:download_models_fixed
Add support for downloading DNN config files in download_models.py #26186

PR resloves #26160 related to downloading DNN config files using download_models.py

### 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-09-25 10:31:45 +03:00
Alexander Smorkalov
8256ef3321
Merge pull request #26183 from asmorkalov:as/multiview_calib_docs
Multiview calibration pipeline documentation update
2024-09-24 13:43:42 +03:00
Alexander Smorkalov
5c870bd5a2
Merge pull request #26184 from asmorkalov:as/js_merge_fix_5.x
Java Script config fix after 4.x merge.
2024-09-24 13:32:56 +03:00
lpanaf
938dabef0e Multiview calibration pipeline documentation update. 2024-09-24 11:54:25 +03:00
Alexander Smorkalov
4d5beef7db Java Script config fix after 4.x merge. 2024-09-24 11:44:09 +03:00
Alexander Smorkalov
fe1a4b61bc
Merge pull request #25022 from asmorkalov:as/calib_multiview_charuco_cpp
Add Charuco board support to multiview calibration sample (C++)
2024-09-24 11:26:39 +03:00
lpanaf
9daad187af Add Charuco board support to multiview calibration sample (C++). 2024-09-24 10:26:27 +03:00
Alexander Smorkalov
317012e85e
Merge pull request #26177 from asmorkalov:as/yolo_tutorial_links
Fixed code snippets in Yolo tutorial.
2024-09-23 16:49:24 +03:00
Alexander Smorkalov
cb3af0a08f Merge branch 4.x 2024-09-23 14:18:25 +03:00
Alexander Smorkalov
2529af9719 Fixed code snippets in Yolo tutorial. 2024-09-23 08:32:09 +03:00
Gursimar Singh
e823493af1
Merge pull request #25710 from gursimarsingh:improved_object_detection_sample
Merged yolo_detector and object detection sample #25710

Relates to #25006

This pull request merges the yolo_detector.cpp sample with the object_detector.cpp sample. It also beautifies the bounding box display on the output images

### 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.
- [x] The feature is well documented and sample code can be built with the project CMake
2024-09-18 16:19:46 +03:00
Suleyman TURKMEN
f503890c2b
Merge pull request #26152 from sturkmen72:m_buf_supported
Documentation update for imagecodecs #26152

### 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.
- [ ] The feature is well documented and sample code can be built with the project CMake
2024-09-17 09:34:38 +03:00
Alessandro de Oliveira Faria (A.K.A.CABELO)
e043d5d9d6
Merge pull request #26154 from cabelo:yolov5l
Added and tested yolov5l model. #26154

### 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

Below is evidence of the test:

![v5l](https://github.com/user-attachments/assets/f31eff0b-11fc-44de-bdaf-640e67d1d924)
2024-09-17 08:58:22 +03:00
Alexander Smorkalov
881440c6c6
Merge pull request #26143 from asmorkalov:as/HAL_opticalFlowLK
Added HAL interface for Lukas-Kanade optical flow #26143

### 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-09-16 17:07:06 +03:00
Alexander Smorkalov
ee685017c3
Merge pull request #26153 from onurcankaraman:sample/trackerUpdate
sample: tracker parameters updated
2024-09-16 10:31:01 +03:00
Onur Can KARAMAN
aa11a898a4 sample: tracker parameters updated
Signed-off-by: Onur Can KARAMAN <onurcankaraman340@gmail.com>
2024-09-14 23:36:57 +03:00
Alexander Smorkalov
e1fec15627
Merge pull request #26148 from mshabunin:fix-sift-corruption
features2d: fixed out of bounds access in SIFT
2024-09-13 15:46:00 +03:00
Maksim Shabunin
6308739638 features2d: fixed out of bounds access in SIFT 2024-09-13 14:30:27 +03:00
Alexander Smorkalov
bf998429f6
Merge pull request #26146 from mshabunin:fix-test-overrides
ts: add some missing override markers
2024-09-13 13:33:54 +03:00
Maksim Shabunin
9663245459 ts: add some missing override markers 2024-09-13 12:48:05 +03:00
Robert Mitchell
f143f45fa2
Merge pull request #25785 from refmitchell:issue_25784
Documentation update for minMaxLoc #25785

Fixes #25784

Update documentation for minMaxLoc to be more specific about when multi-channel images are and are not supported.

Testing:
Built documentation locally to check that updates were incorporated correctly.

### 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-09-13 12:34:01 +03:00
Wanli
c8080aa415
Merge pull request #26109 from WanliZhong:univ_intrin_operator2warpper
Replace operators with wrapper functions on universal intrinsics backends #26109

This PR aims to replace the operators(logic, arithmetic, bit) with wrapper functions(v_add, v_eq, v_and...)

### 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.
- [ ] The feature is well documented and sample code can be built with the project CMake
2024-09-13 10:56:48 +03:00
Maksim Shabunin
4c81e174bf
Merge pull request #25901 from mshabunin:fix-riscv-aarch-baseline
RISC-V/AArch64: disable CPU features detection #25901

This PR is the first step in fixing current issues with NEON/RVV, FP16, BF16 and other CPU features on AArch64 and RISC-V platforms.

On AArch64 and RISC-V platforms we usually have the platform set by default in the toolchain when we compile it or in the cmake toolchain file or in CMAKE_CXX_FLAGS by user. Then, there are two ways to set platform options: a) "-mcpu=<some_cpu>" ; b) "-march=<arch description>" (e.g. "rv64gcv"). Furthermore, there are no similar "levels" of optimizations as for x86_64, instead we have features (RVV, FP16,...) which can be enabled or disabled. So, for example, if a user has "rv64gc" set by the toolchain and we want to enable RVV. Then we need to somehow parse their current feature set and append "v" (vector optimizations) to this string. This task is quite hard and the whole procedure is prone to errors.

I propose to use "CPU_BASELINE=DETECT" by default on AArch64 and RISC-V platforms. And somehow remove other features or make them read-only/detect-only, so that OpenCV wouldn't add any extra "-march" flags to the default configuration. We would rely only on the flags provided by the compiler and cmake toolchain file. We can have some predefined configurations in our cmake toolchain files.

Changes made by this PR:
- `CMakeLists.txt`: 
  - use `CMAKE_CROSSCOMPILING` instead of `CMAKE_TOOLCHAIN_FILE` to detect cross-compilation. This might be useful in cases of native compilation with a toolchain file
  - removed obsolete variables `ENABLE_NEON` and `ENABLE_VFPV3`, the first one have been turned ON by default on AArch64 platform which caused setting `CPU_BASELINE=NEON`
  - raise minimum cmake version allowed to 3.7 to allow using `CMAKE_CXX_FLAGS_INIT` in toolchain files
- added separate files with arch flags for native compilation on AArch64 and RISC-V, these files will be used in our toolchain files and in regular cmake
- use `DETECT` as default value for `CPU_BASELINE` also allow `NATIVE`, warn user if other values were used (only for AArch64 and RISC-V)
- for each feature listed in `CPU_DISPATCH` check if corresponding `CPU_${opt}_FLAGS_ON` has been provided, warn user if it is empty (only for AArch64 and RISC-V)
- use `CPU_BASELINE_DISABLE` variable to actually turn off macros responsible for corresponding features even if they are enabled by compiler
- removed Aarch64 feature merge procedure (it didn't support `-mcpu` and built-in `-march`)
- reworked AArch64 and two RISC-V cmake toolchain files (does not affect Android/OSX/iOS/Win):
  - use `CMAKE_CXX_FLAGS_INIT` to set compiler flags
  - use variables `ENABLE_BF16`, `ENABLE_DOTPROD`, `ENABLE_RVV`, `ENABLE_FP16` to control `-march`
  - AArch64: removed other compiler and linker flags
    - `-fdata-sections`, `-fsigned-char`, `-Wl,--no-undefined`, `-Wl,--gc-sections`   - already set by OpenCV
    - `-Wa,--noexecstack`, `-Wl,-z,noexecstack`, `-Wl,-z,relro`, `-Wl,-z,now` - can be enabled by OpenCV via `ENABLE_HARDENING`
    - `-Wno-psabi` - this option used to disable some warnings on older ARM platforms, shouldn't harm
  - ARM: removed same common flags as for AArch64, but left `-mthumb` and `--fix-cortex-a8`, `-z nocopyreloc`
2024-09-12 18:07:24 +03:00
FantasqueX
85923c8f30
Merge pull request #26113 from FantasqueX:zlib-ng-2-2-1
Update zlib-ng to 2.2.1 #26113

Release: https://github.com/zlib-ng/zlib-ng/releases/tag/2.2.1
ARM diagnostics patch: https://github.com/zlib-ng/zlib-ng/pull/1774

### 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.
- [ ] The feature is well documented and sample code can be built with the project CMake
2024-09-12 16:05:24 +03:00
Alexander Smorkalov
46b800f506
Merge pull request #26144 from asmorkalov:as/drop_CV_FUNCTION_NAME
Drop remaning C CV_FUNCTION_NAME as it's not used any more.
2024-09-12 16:03:27 +03:00
Alexander Smorkalov
f8a75bccab Drop remaning C CV_FUNCTION_NAME as it's not used any more. 2024-09-12 08:38:19 +03:00
Alexander Smorkalov
7de3a8e960
Merge pull request #26088 from plctlab:rvp_pt2
3rdparty: NDSRVP - Part 2: Filter
2024-09-11 12:18:42 +03:00
Alexander Smorkalov
fcfdd311ab
Merge pull request #26134 from savuor:rv/mixed_arithm_channels
Mixed arithmetics tests: multichannel support
2024-09-10 13:20:04 +03:00