Commit Graph

527 Commits

Author SHA1 Message Date
Arnaud Brejeon
636ab095b0 Merge pull request #8535 from arnaudbrejeon:std_array
Add support for std::array<T, N> (#8535)

* Add support for std::array<T, N>

* Add std::array<Mat, N> support

* Remove UMat constructor with std::array parameter
2017-04-19 13:13:39 +03:00
Alexander Alekhin
dd304dbe05 test: fix min/max name mismatching 2017-04-18 22:25:00 +03:00
Alexander Alekhin
e5d9b608c4 cmake: fix fp16 support 2017-04-04 20:34:58 +03:00
Julian Exner
46af07575e Add test case for cv::Mat::forEach
This test case uses a matrix with more dimensions than columns. Without
the fix in
b45e784beb
this crashes with a segmentation fault, hangs or simply fails with wrong
values.
2017-03-24 15:34:58 +01:00
Vladislav Sovrasov
931b32d102 core: add single DMatch/Keypoint I/O 2017-03-03 13:58:55 +03:00
Alexander Alekhin
89ce2dc405 core: DMatch I/O tests 2017-03-03 13:55:27 +03:00
Vadim Pisarevsky
c7049ca627 Merge pull request #8293 from alalek:update_rng_in_parallel_for 2017-03-02 05:51:01 +00:00
Vladislav Sovrasov
c321d025c4 Fix DMatch and Keypoint I/O in FileStorage 2017-03-01 15:07:38 +03:00
Alexander Alekhin
ebdd74105a core(test): add regression test for RNG in parallel_for_() 2017-02-28 18:22:58 +03:00
Vladislav Sovrasov
14451f3f06 core: fix adjustROI behavior on indexes overflow 2017-02-22 14:05:51 +03:00
Alexander Alekhin
9ac9e9e29a core: fix String::end() implementation 2017-02-09 16:36:22 +03:00
Maksim Shabunin
b417b4dbee KMeans improvement
- fixed returned compactness value
- added centers drawing to the example app
- added compactness test
2017-01-31 12:05:08 +03:00
Alexander Alekhin
a22f03e749 Merge pull request #7863 from tomoaki0705:universalIntrinsicPopcount 2017-01-18 17:25:02 +00:00
Vladislav Sovrasov
896c34fab3 Add support of type headings from YAML1.2 2017-01-17 16:40:38 +03:00
Tomoaki Teshima
8b22099da2 use universal intrinsic and SSE4 popcount instruction in normHamming
- add v_popcount in universal intrinsic
 - add test for v_popcount
 - add wrapper of popcount for both MSVC and GCC
2017-01-12 09:09:22 +09:00
Alexander Alekhin
862c3aa6e1 Merge pull request #7873 from addisonElliott:Mat_Range_InitializerList 2016-12-16 16:45:17 +00:00
Alexander Alekhin
0e4dde1781 Merge pull request #7872 from alalek:merge-2.4 2016-12-16 16:03:14 +02:00
Addison Elliott
eb04b2bfa9 Added N-dim submat selection with vectors
Currently, to select a submatrix of a N-dimensional matrix, it requires
two lines of code while only one line of code is required if using a 2D
array.

I added functionality to be able to select an N-dim submatrix using a
vector list instead of a Range pointer. This allows initializer lists to
be used for a one-line selection.
2016-12-15 09:16:40 -06:00
Alexander Alekhin
dbbbad40fb build: eliminate ICC warnings 2016-12-15 15:57:40 +03:00
Alexander Alekhin
fb223784a6 test: fix Core_HAL.mat_decomp test implementation 2016-12-12 14:47:38 +03:00
Alexander Alekhin
79857f1e38 test: fix Core_ArithmMask.uninitialized test
Don't run binary operations for floating-point numbers
norm() will fail with NAN result.
2016-12-07 21:44:17 +03:00
Alexander Alekhin
5032dae9ed test: refactor test to capture more information on failure
Core_ArithmMask.uninitialized
2016-12-02 18:54:27 +03:00
Vladislav Sovrasov
7c266ffffe Add support of vector of vectors serialization to FileStorage 2016-11-16 13:37:30 +03:00
Vladislav Sovrasov
38483fe7a7 Skip UTF-8 BOM in FileStorage 2016-11-02 14:51:07 +03:00
Vadim Pisarevsky
ecb8fb964d Merge pull request #7572 from tomoaki0705:featureUniversalStereoSgbm 2016-10-28 15:34:11 +00:00
Tomoaki Teshima
b823c8e95c add universal intrinsic in StereoSGBM
* add 8 elements version of reduce operation
  * add tests for new universal intrinsic
2016-10-28 21:47:13 +09:00
fegorsch
ddf0554fff Use colon in "%YAML:1.0" directive when persisting to YAML-files
In YAML 1.0 the colon is mandatory. See http://yaml.org/spec/1.0/#id2558635.

This also allows prior releases to read YAML files created with the current version.
2016-10-25 18:18:35 +02:00
Alexander Alekhin
5da8d65371 eliminate compiler warnings 2016-10-08 02:19:43 +03:00
Tomoaki Teshima
841ccccada use universal intrinsic in canny
* add v_abs for universal intrinsic
  * add test of v_abs in test_intrin
  * fix compile error on gcc
  * fix bool OR operation
2016-10-03 13:23:43 +09:00
Alexander Alekhin
d34f2cfefe Merge pull request #7317 from tomoaki0705:fixIfdefFp16 2016-09-26 10:59:32 +00:00
Tomoaki Teshima
c7cb116dc0 check FP16 build condition correctly
* use __GNUC_MINOR__ in correct place to check the version of GCC
  * check processor support of FP16 at run time
  * check compiler support of FP16 and pass correct compiler option
  * rely on ENABLE_AVX on gcc since AVX is generated when mf16c is passed
  * guard correctly using ifdef in case of various configuration
  * use v_float16x4 correctly by including the right header file
2016-09-23 11:04:22 +09:00
Alexander Alekhin
f50f34016e test: fix test crash (exception in destructor) 2016-09-22 15:18:32 +03:00
Alexander Alekhin
125e2dcbba Merge pull request #7156 from sovrasov:hal_qr_decomp 2016-09-08 09:47:52 +00:00
Alexander Alekhin
c8d77fd961 Merge pull request #7233 from tomoaki0705:featureUniversalIntrinsicFp16 2016-09-07 14:42:46 +00:00
Vladislav Sovrasov
dfe4519c07 Add QR decomposition to HAL 2016-09-05 18:20:04 +03:00
Tomoaki Teshima
903789f7af use universal intrinsic for FP16
* use v_float16x4 (universal intrinsic) instead of raw SSE/NEON implementation
  * define v_load_f16/v_store_f16 since v_load can't be distinguished when short pointer passed
  * brush up implementation on old compiler (guard correctly)
  * add test for v_load_f16 and round trip conversion of v_float16x4
  * fix conversion error
2016-09-05 08:13:52 +09:00
Alexander Alekhin
d102ea96c0 Merge pull request #7210 from mshabunin:fix-warnings 2016-09-02 12:50:45 +00:00
Maksim Shabunin
28db4a2207 Merge pull request #7175 from tomoaki0705:featureIntrinsic64 2016-09-02 10:16:44 +00:00
Maksim Shabunin
dc704d77ac Fixed several GCC 5.x warnings 2016-09-01 15:44:01 +03:00
Tomoaki Teshima
7fef96be1e add 64F intrinsic in HAL NEON
* use universal intrinsic for accumulate series using float/double
  * accumulate, accumulateSquare, accumulateProduct and accumulateWeighted
  * add v_cvt_f64_high in both SSE/NEON
  * add test for conversion v_cvt_f64_high in test_intrin.cpp
  * improve some existing universal intrinsic by using new instructions in Aarch64
  * add workaround for Android build in intrin_neon.hpp
2016-08-30 17:21:02 +09:00
Matthew Self
9678d48e1a 2-channel interleaved load/store for universal intrinsics (float only)
* Added 2-channel ops to match existing 3-channel and 4-channel ops

* v_load_deinterleave() and v_store_interleave()

* Implements float32x4 only on SSE (but all types on NEON and CPP)

* Includes tests

* Will be used to vectorize 2D functions, such as estimateAffine2D()
2016-08-26 18:17:08 -07:00
Vadim Pisarevsky
b03e3abd62 Merge pull request #7088 from wiryls:FileStorageJSON 2016-08-24 16:49:06 +00:00
MYLS
47f2e618ee Add two tests.
- one test for type_id;
- another for comments in JSON;
2016-08-24 17:01:57 +08:00
Maksim Shabunin
031076ab93 Merge pull request #7077 from LaurentBerger:I7063 2016-08-15 09:08:44 +00:00
LaurentBerger
b75bac7975 Solve Issue 7063
consequences of changes

accuracy test

Solve issue 7063
2016-08-11 10:56:50 +02:00
MYLS
8596e82d98 Add JSON support.
a JSON emitter, a parser, tests and some basic doc.
2016-08-11 00:53:15 +08:00
MYLS
3935855365 Merge remote-tracking branch 'refs/remotes/opencv/master' into FileStorageBase64DocsTests
# Conflicts:
#	modules/core/test/test_io.cpp
2016-07-30 01:08:27 +08:00
Tomoaki Teshima
891c83ff35 fix build error
* NAN is not defined on some platform
  * follow the comment on PR
2016-07-25 15:42:09 +09:00
Tomoaki Teshima
70dcd107d0 follow the comment
* test build on VS2012
2016-07-24 23:34:12 +09:00
Tomoaki Teshima
4423a5edad fix build error
* NAN is not defined on some platform
2016-07-23 23:11:57 +09:00
Vadim Pisarevsky
134154ec6d Merge pull request #6963 from ilya-lavrenov:vec2i_fs 2016-07-21 20:55:05 +00:00
Ilya Lavrenov
313f54bc39 read/write vec2i from/to filestorage 2016-07-21 10:58:49 +03:00
Alexander Alekhin
2acfb263bb Merge pull request #6910 from ilya-lavrenov:clone 2016-07-20 15:32:22 +00:00
Vadim Pisarevsky
c4cc54e5da Merge pull request #6953 from ilya-lavrenov:arithm 2016-07-20 13:42:30 +00:00
Vadim Pisarevsky
848c66babd Merge pull request #6879 from savuor:fix/RNG_corrupts_stack 2016-07-20 13:13:40 +00:00
Ilya Lavrenov
71cbd6f02e fixed bug #5775 2016-07-20 11:38:15 +03:00
Rostislav Vasilikhin
96edb270a6 fixed memory corruption when normal dist. params have less channels than target matrix; test added 2016-07-19 17:26:39 +03:00
Ilya Lavrenov
6c42ad5b90 fixed typo 2016-07-19 16:18:48 +03:00
MYLS
78ca5ddd45 solve errors and warnings 2016-07-19 19:56:57 +08:00
Ilya Lavrenov
87ae4e0564 fixed clone of empty matrix 2016-07-19 11:31:53 +03:00
MYLS
617df09143 Modify Base64 functions and add test and documentation
Major changes:

- modify the Base64 functions to compatible with `cvWriteRawData` and so
on.
- add a Base64 flag for FileStorage and outputs raw data in Base64
automatically.
- complete all  testing and documentation.
2016-07-19 15:54:38 +08:00
Vadim Pisarevsky
48b747903b Merge pull request #6830 from tomoaki0705:featureSupportFp16 2016-07-18 15:56:00 +00:00
Ilya Lavrenov
957bf1452c added some tests for push_back 2016-07-15 14:48:22 +03:00
Maksim Shabunin
b0fa477614 Merge pull request #6908 from ilya-lavrenov:reduce 2016-07-15 09:07:56 +00:00
Ilya Lavrenov
0af3947468 added note about cv::reduce output type for MIN/MAX 2016-07-14 17:22:08 +03:00
Ilya Lavrenov
c4b57d0ded disable ippiMinMaxIndx_32f_C1R usage since it crashes on Nans 2016-07-14 14:52:58 +03:00
Alexander Alekhin
53f4eaa7a7 Merge pull request #6892 from ioxp:fsSpace 2016-07-13 11:46:50 +00:00
Alexander Alekhin
5f269d08b4 bigdata: add test, resolve split/merge issue 2016-07-08 18:05:53 +03:00
Philipp Hasper
00112bbe10 persistence: fixing crash with space-only values 2016-07-08 12:41:05 +02:00
Alexander Alekhin
3844ee780c build: fix compiler warnings (GCC 5.3.1) 2016-07-01 20:17:16 +03:00
Vadim Pisarevsky
7fea7e0629 Merge pull request #6697 from wiryls:FileStorageBase64 2016-06-30 17:17:03 +00:00
Vitaliy Lyudvichenko
930d96f684 Fixing of AutoBuffer::allocate(nsz) method
AutoBuffer::allocate(nsz) didn't work properly when
(sz < nsz < fixed_size). In this case sz remained unchanged.
2016-06-29 19:50:51 +03:00
MYLS
df5a7c8ee9 build again for OpenCL.
I could not find the cause of the error:

```
C:\builds_ocv\precommit_opencl\opencv\modules\ts\src\ts_perf.cpp(361):
error: The difference between expect_max and actual_max is
8445966.0000002384, which exceeds eps, where

expect_max evaluates to 0.9999997615814209,

actual_max evaluates to 8445967, and

eps evaluates to 1.0000000000000001e-005.

Argument "dst0" has unexpected maximal value
```

Hope this is a false alarm.
2016-06-25 02:24:33 +08:00
MYLS
677d4d20ce fixed an error in the test... 2016-06-25 00:37:13 +08:00
MYLS
959002fb96 solve warnings and errors in test. 2016-06-24 23:41:40 +08:00
MYLS
7c92ee2e6e Split cvWriteRawData_Base64 into three functions
The three new functions:

```cpp
void cvStartWriteRawData_Base64(::CvFileStorage * fs, const char* name,
int len, const char* dt);
void cvWriteRawData_Base64(::CvFileStorage *
fs, const void* _data, int len);
void
cvEndWriteRawData_Base64(::CvFileStorage * fs);
```

Test is also updated. (And it's remarkable that there is a bug in
`cvWriteReadData`.)
2016-06-24 22:27:42 +08:00
Alexander Alekhin
96937bac74 Merge pull request #6581 from mshabunin:hal_mag 2016-06-21 13:16:17 +00:00
MYLS
29921d055d change the parameter to CvMat and CvMatND
```cpp
cvWriteMat_Base64(::cv::FileStorage & fs, ::cv::String const & name,
::cv::Mat const & mat)
```
becomes:
```cpp
CV_EXPORTS void cvWriteMat_Base64(::CvFileStorage* fs, const char* name,
const ::CvMat* mat);
CV_EXPORTS void
cvWriteMatND_Base64(::CvFileStorage* fs, const char* name, const
::CvMatND* mat);
```
2016-06-20 16:59:58 +08:00
MYLS
958263d245 Solve warnings, and adjusted the test case. 2016-06-19 02:00:32 +08:00
MYLS
882e4221e7 fix errors from test.
Two other test are still needed.

1. Verify the Base64 data.
2. Read an old YML file for compatibility test.
2016-06-19 00:45:51 +08:00
MYLS
7b1f7c8d8e Add Base64 support for FileStorage
1. Add Base64 support for reading and writing XML\YML file.

The two new functions for writing:

```cpp
void cvWriteRawData_Base64(cv::FileStorage & fs, const void* _data, int
len, const char* dt);
void cvWriteMat_Base64(cv::FileStorage & fs, cv::String const & name,
cv::Mat const & mat);
```

2. Change YML file header form `YAML:1.0` to `YAML 1.0`. (standard
format)

3. Add test for Base64 part.
2016-06-18 22:14:11 +08:00
MYLS
ecd827fc8e Add Base64 support for FileStorage
[GSoC] FileStorage:
Add base64 support for reading and writting XML\YML file.
The two new functions:
```
void cvWriteRawData_Base64(cv::FileStorage & fs, const void* _data, int
len, const char* dt);
void cvWriteMat_Base64(cv::FileStorage & fs, cv::String const & name,
cv::Mat const & mat);
```
2016-06-18 21:40:29 +08:00
Tomoaki Teshima
d1c1c01761 fix typo 2016-06-07 14:53:04 +09:00
Tomoaki Teshima
eccf2fa4c3 follow other interface
* remove useHW option
  * update test
2016-06-06 08:56:37 +09:00
Maksim Shabunin
1e667de1f3 HAL math interfaces: fastAtan2, magnitude, sqrt, invSqrt, log, exp 2016-05-31 11:54:52 +03:00
Tomoaki Teshima
b2ad7cd9c0 add feature to convert FP32(float) to FP16(half)
* check compiler support
  * check HW support before executing
  * add test doing round trip conversion from / to FP32
  * treat array correctly if size is not multiple of 4
  * add declaration to prevent warning
  * make it possible to enable fp16 on 32bit ARM
  * let the conversion possible on non-supported HW, too.
  * add test using both HW and SW implementation
2016-05-21 21:31:33 +09:00
Tomoaki Teshima
bfcb40ad77 fix Core_MulSpectrum test on 64bit ARM + release mode
* fix issue #6536
  * increase threshold in particular tests due to the difference of fmsub and fsub
2016-05-20 18:25:32 +09:00
Tomoaki Teshima
7077d1de63 fix hal_intrin test on 64bit ARM
* fix issue 6521
  * use correct comparison
2016-05-12 18:30:09 +09:00
Vadim Pisarevsky
904381c602 Merge pull request #6020 from mshabunin:hal_dxt 2016-04-25 11:37:18 +00:00
Philipp Hasper
47c4ee974a operator<< handles keys starting with underscore 2016-04-11 09:55:33 +02:00
Maksim Shabunin
008abd28fd Extracted HAL interfaces for DFT/DCT, added new test 2016-04-08 11:19:28 +03:00
Alexander Alekhin
f48cda2f95 test: initialize test data in test_umat.cpp (6102) 2016-02-12 13:15:15 +03:00
Alexander Alekhin
96f5a930f4 test: regression 5991 2016-01-26 14:11:53 +03:00
Alexander Alekhin
17e4d33b0e added regression test for #5876 2015-12-25 16:16:34 +03:00
Maksim Shabunin
84f37d352f HAL moved back to core 2015-12-17 12:33:23 +03:00
Alexander Alekhin
b26580cc7b checkRange fixes
1) fix multichannel support
2) remove useless bad_value, read value from original Mat directly
3) add more tests
4) fix docs for cvCeil and checkRange
2015-12-09 18:31:27 +03:00
Vadim Pisarevsky
d19897b734 Merge pull request #5651 from hoangviet1985:fix_solvePoly_3.0.0 2015-12-07 10:12:54 +00:00
Maksim Shabunin
ddf293a081 Merge pull request #5649 from hoangviet1985:solve_pow(x,3)=0_opencv300 2015-11-22 18:02:40 +00:00
hoangviet1985
3e96b724c2 squash 2015-11-20 15:03:32 -05:00
hoangviet1985
b96def885f squash 2015-11-20 14:48:29 -05:00