Commit Graph

47 Commits

Author SHA1 Message Date
Vadim Pisarevsky
1d18aba587
Extended several core functions to support new types (#24962)
* started adding support for new types (16f, 16bf, 32u, 64u, 64s) to arithmetic functions

* fixed several tests; refactored and extended sum(), extended inRange().

* extended countNonZero(), mean(), meanStdDev(), minMaxIdx(), norm() and sum() to support new types (F16, BF16, U32, U64, S64)

* put missing CV_DEPTH_MAX to some function dispatcher tables
* extended findnonzero, hasnonzero with the new types support

* extended mixChannels() to support new types

* minor fix

* fixed a few compile errors on Linux and a few failures in core tests

* fixed a few more warnings and test failures

* trying to fix the remaining warnings and test failures. The test `MulTestGPU.MathOpTest` was disabled - not clear whether to set tolerance - it's not bit-exact operation, as possibly assumed by the test, due to the use of scale and possibly limited accuracy of the intermediate floating-point calculations.

* found that in the current snapshot G-API produces incorrect results in Mul, Div and AddWeighted (at least when using OpenCL on Windows x64 or MacOS x64). Disabled the respective tests.
2024-02-11 10:42:41 +03:00
Alexander Smorkalov
c739117a7c Merge branch 4.x 2024-01-19 17:32:22 +03:00
Kumataro
dba7186378
Merge pull request #24271 from Kumataro:fix24163
Fix to convert float32 to int32/uint32 with rounding to nearest (ties to even). #24271

Fix https://github.com/opencv/opencv/issues/24163

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

(carotene is BSD)
2023-12-25 12:17:17 +03:00
Alexander Smorkalov
163d544ecf Merge branch 4.x 2023-10-02 10:17:23 +03:00
Vadim Pisarevsky
416bf3253d
attempt to add 0d/1d mat support to OpenCV (#23473)
* attempt to add 0d/1d mat support to OpenCV

* revised the patch; now 1D mat is treated as 1xN 2D mat rather than Nx1.

* a step towards 'green' tests

* another little step towards 'green' tests

* calib test failures seem to be fixed now

* more fixes _core & _dnn

* another step towards green ci; even 0D mat's (a.k.a. scalars) are now partly supported!

* * fixed strange bug in aruco/charuco detector, not sure why it did not work
* also fixed a few remaining failures (hopefully) in dnn & core

* disabled failing GAPI tests - too complex to dig into this compiler pipeline

* hopefully fixed java tests

* trying to fix some more tests

* quick followup fix

* continue to fix test failures and warnings

* quick followup fix

* trying to fix some more tests

* partly fixed support for 0D/scalar UMat's

* use updated parseReduce() from upstream

* trying to fix the remaining test failures

* fixed [ch]aruco tests in Python

* still trying to fix tests

* revert "fix" in dnn's CUDA tensor

* trying to fix dnn+CUDA test failures

* fixed 1D umat creation

* hopefully fixed remaining cuda test failures

* removed training whitespaces
2023-09-21 18:24:38 +03:00
Vincent Rabaud
3880d059b3
Merge pull request #24260 from vrabaud:ubsan
Fix undefined behavior arithmetic in copyMakeBorder and adjustROI. #24260

This is due to the undefined: negative int multiplied by size_t pointer increment.

To test, compile with:
```
mkdir build
cd build
cmake ../ -DCMAKE_C_FLAGS_INIT="-fsanitize=undefined" -DCMAKE_CXX_FLAGS_INIT="-fsanitize=undefined" -DCMAKE_C_COMPILER="/usr/bin/clang" -DCMAKE_CXX_COMPILER="/usr/bin/clang++" -DCMAKE_SHARED_LINKER_FLAGS="-fsanitize=undefined -lubsan"
```
And run:
```
make -j opencv_test_core && ./bin/opencv_test_core --gtest_filter=*UndefinedBehavior*
```

### 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
2023-09-14 15:16:28 +03:00
Alexander Alekhin
a2a92999be core(arithm_op): workaround problem with scalars handling 2021-03-31 10:35:52 +00:00
Alexander Alekhin
3a2f40ac6f core: don't allow reallocation in add/div/sub/bitwise aug operators 2020-03-06 13:00:40 +00:00
Alexander Alekhin
966c2191cb
Merge pull request #13928 from catree:add_matx_div_operations 2020-02-21 22:35:03 +03:00
Alexander Smorkalov
c87b99e82b Added test for new MatX division. 2020-02-21 10:08:55 +03:00
RAJKIRAN NATARAJAN
e6ce752da1 Merge pull request #15966 from saskatchewancatch:issue-15760
Add checks for empty operands in Matrix expressions that don't check properly

* Starting to add checks for empty operands in Matrix expressions that
don't check properly.

* Adding checks and delcarations for checker functions

* Fix signatures and add checks for each class of Matrix Expr operation

* Make it catch the right exception

* Don't expose helper functions to public API
2019-12-12 19:23:57 +03:00
Vitaly Tuzov
cd169941f2 Added test for addition of Mat and Matx 2018-12-25 19:22:04 +03:00
1over
b6367f5821 fixed operator- for Rect 2018-11-20 00:48:17 +01:00
Alexander Alekhin
8a3c394d6a don't use constructors for C API structures 2018-09-06 14:34:16 +03:00
Alexander Alekhin
33b7028be2 core: use "explicit" for Matx() ctor 2018-07-12 19:50:56 +00:00
luz.paz
5718d09e39 Misc. modules/ typos
Found via `codespell`
2018-02-12 07:09:43 -05:00
Alexander Alekhin
4a297a2443 ts: refactor OpenCV tests
- removed tr1 usage (dropped in C++17)
- moved includes of vector/map/iostream/limits into ts.hpp
- require opencv_test + anonymous namespace (added compile check)
- fixed norm() usage (must be from cvtest::norm for checks) and other conflict functions
- added missing license headers
2018-02-03 19:39:47 +00:00
Alexander Alekhin
72f789bf34 core: fix type traits 2017-08-31 15:05:46 +03:00
Alexander Alekhin
9067310166 core(test): added cv::sortIdx accuracy tests 2017-06-21 03:04:16 +00:00
Vladislav Sovrasov
14451f3f06 core: fix adjustROI behavior on indexes overflow 2017-02-22 14:05:51 +03:00
Ilya Lavrenov
aa5326c231 cv::norm -> cvtest::norm in tests
Conflicts:

	modules/core/src/stat.cpp
2014-04-08 14:49:20 +04:00
Ilya Lavrenov
37789f015a deleted excess semicolons, commas 2014-01-18 01:31:33 +04:00
Roman Donchenko
924fc070f0 Changed / for Matx to Matx::div, for symmetry with Matx::mul. 2013-07-16 12:25:26 +04:00
Vikas Dhiman
f15dc72b89 Removed misleading comment and added the divisibility test to ::run function. 2013-06-26 12:16:25 -04:00
Vikas Dhiman
dbc9b4db0c support elementwise division for Matx with "/" operator. 2013-06-14 11:38:29 -04:00
Vadim Pisarevsky
146ca61a27 added tests for #1373, #2629, #2719; fixed another bug in determinant(Matx<T,n,n>) 2013-01-28 17:27:08 +04:00
Vadim Pisarevsky
ae10ecd264 fixed 2 test failures (test_DrawChessboardCorners & Core_Array.expressions) 2012-10-24 14:41:15 +04:00
Vadim Pisarevsky
f5742e6cac fix bug #2447 - unary operator bug for single column matrix 2012-10-18 13:28:01 +04:00
OpenCV Buildbot
04384a71e4 Normalize line endings and whitespace 2012-10-17 15:32:23 +04:00
Vadim Pisarevsky
7ee6040192 enable Matx as Mat elements (bug #1705). 2012-10-11 15:02:48 +04:00
Vadim Pisarevsky
1ded1597e7 fixed mixed-type array operations (bug #2336) 2012-09-19 17:55:34 +04:00
Vadim Pisarevsky
37f4ea6be7 Merge remote-tracking branch 'origin/master' 2012-09-17 16:12:36 +04:00
Vadim Pisarevsky
7946fcdb69 added test for #2336 2012-09-17 16:12:30 +04:00
Andrey Kamaev
e73089bdb5 Fix windows build warnings 2012-09-17 13:30:28 +04:00
Vadim Pisarevsky
a74a2302aa fixed bug #2331 2012-09-04 13:34:52 +04:00
Vadim Pisarevsky
31395b0759 added check for false bug report #2081 2012-07-01 21:29:50 +00:00
Andrey Kamaev
afe11f69fb Fixed Windows build warnings and configuration problem. 2012-06-30 20:45:01 +00:00
Vadim Pisarevsky
82cb2ab556 fixed bug in SVD, ticket #2027; fixed building highgui with ffmpeg support on MacOSX 2012-06-28 19:45:13 +00:00
Vadim Pisarevsky
fd901d8323 fixed #2108 (thanks to Vincent for the report and proposed solution) 2012-06-28 15:52:34 +00:00
Vadim Pisarevsky
d60b1f2f82 fixed bug #2106; added test 2012-06-27 20:51:48 +00:00
Vadim Pisarevsky
52797a55e2 added support for vector<Mat_<>> in InputArray, OutputArray, split & merge 2012-05-11 13:36:48 +00:00
Vadim Pisarevsky
d5a0088bbe merged 2.4 into trunk 2012-04-30 14:33:52 +00:00
Vadim Pisarevsky
2fd1e2ea57 merged all the latest changes from 2.4 to trunk 2012-04-13 21:50:59 +00:00
Vadim Pisarevsky
af8e5696f0 fixed a few compile problems in SparseMat code; fixed iteration over an empty sparse matrix (ticket #1587) 2012-03-27 14:43:24 +00:00
Anatoly Baksheev
415978b1c9 warnings 2011-09-05 14:37:27 +00:00
Vadim Pisarevsky
fba70ca131 fixed bug #1306 (Vec assignment); added tests for Vec & Matx multiplication 2011-08-15 13:24:13 +00:00
Vadim Pisarevsky
061b49e0b2 reworked nearly all of the OpenCV tests (except for opencv_gpu tests) - they now use the Google Test engine. 2011-02-09 20:55:11 +00:00