Commit Graph

314 Commits

Author SHA1 Message Date
Sayed Adel
8965f3ae06 imgproc:simd Enable VSX and wide universal intrinsics for accumulate operations
- improve cpu dispatching calls to allow more SIMD extentions
    (SSE4.1, AVX2, VSX)
  - wide universal intrinsics
  - replace dummy v_expand with v_expand_low
  - replace v_expand + v_mul_wrap with v_mul_expand for product accumulate operations
  - use FMA for accumulate operations
  - add mask and more types to accumulate's performance tests
2018-10-11 04:37:12 +02:00
Jakub Golinowski
9f1218b00b Merge pull request #11897 from Jakub-Golinowski:hpx_backend
* Add HPX backend for OpenCV implementation
Adds hpx backend for cv::parallel_for_() calls respecting the nstripes chunking parameter. C++ code for the backend is added to modules/core/parallel.cpp. Also, the necessary changes to cmake files are introduced.
Backend can operate in 2 versions (selectable by cmake build option WITH_HPX_STARTSTOP): hpx (runtime always on) and hpx_startstop (start and stop the backend for each cv::parallel_for_() call)

* WIP: Conditionally include hpx_main.hpp to tests in core module
Header hpx_main.hpp is included to both core/perf/perf_main.cpp and core/test/test_main.cpp.
The changes to cmake files for linking hpx library to above mentioned test executalbles are proposed but have issues.

* Add coditional iclusion of hpx_main.hpp to cpp cpu modules

* Remove start/stop version of hpx backend
2018-08-31 16:23:26 +03:00
Alexander Alekhin
d044ac1c66 imgproc(getPerspectiveTransform): add solveMethod parameter
drop compatibility workaround via runtime parameter
2018-07-26 18:22:59 +03:00
Alexander Alekhin
2170811e48 imgproc(perf): update getPerspectiveTransform perf test
Function is very fast, so 0.000 ms results are useless.
1000 runs requires 25ms on i7-6700K.
2018-07-13 15:31:33 +03:00
yuki takehara
ed207d79e7 Merge pull request #11108 from take1014:hough_4303
* Added accumulator value to the output of HoughLines and HoughCircles

* imgproc: refactor Hough patch

- eliminate code duplication
- fix type handling, fix OpenCL code
- fix test data generation
- re-generated test data in debug mode via plain CPU code path
2018-05-23 20:42:12 +00:00
Vadim Pisarevsky
b8b7ca7302
Rewite polar transforms (#11323)
* Rewrite polar transformations

- A new wrapPolar function encapsulate both linear and semi-log remap
- Destination size is a parameter or calculated automatically to keep objects size between remapping
- linearPolar and logPolar has been deprecated

* Fix build warning and error in accuracy test

* Fix function name to warpPolar

* Explicitly specify the mapping mode, so we retain all the parameters as non-optional.

Introduces WarpPolarMode enum to specify the mapping mode in flags

* resolves performance warning on windows build

* removed duplicated logPolar and linearPolar implementations
2018-04-17 15:50:52 +03:00
Tomoaki Teshima
a82e70cd40 remove raw SSE2/NEON implementation from imgwarp.cpp
* use universal intrinsic instead of raw intrinsic
  * add 2 channels de-interleave on x86 platform
  * add v_int32x4 version of v_muladd
  * add accumulate version of v_dotprod based on the commit from seiko2plus on bf1852d
  * remove some verify check in performance test
  * avoid the out of boundary access and keep the performance
2018-04-13 21:19:16 +09: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
Tom Becker
592f8d8c1b Merge pull request #10232 from TomBecker-BD:hough-many-circles
Hough many circles (#10232)

* Add Hui's optimization. Merge with latest changes in OpenCV.

* Use conditional compilation instead of a runtime flag.

* Whitespace.

* Create the sequence for the nonzero edge pixels only if using that approach.

* Improve performance for finding very large numbers of circles

* Return the circles with the larger accumulator values first, as per API documentation.
Use a separate step to check distance between circles. Allows circles to be sorted by strength first. Avoids locking in EstimateRadius which was slowing it down.
Return centers only if maxRadius == 0 as per API documentation.

* Sort the circles so results are deterministic. Otherwise the order of circles with the same strength depends on parallel processing completion order.

* Add test for HoughCircles.

* Add beads test.

* Wrap the non-zero points structure in a common interface so the code can use either a vector or a matrix.

* Remove the special case for skipping the radius search if maxRadius==0.

* Add performance tests.

* Use NULL instead of nullptr.
OpenCV should compile with C++98 compiler.

* Put test suite name first.
Use different test suite names for each test to avoid an error from the test runner.

* Address build bot errors and warnings.

* Skip radius search if maxRadius < 0.

* Dynamically switch to NZPointList when it will be faster than NZPointSet.

* Fix compile error: missing 'typename' prior to dependent type name.

* Fix compile error: missing 'typename' prior to dependent type name.
This time fix it the non C++ 11 way.

* Fix compile error: no type named 'const_reference' in 'class cv::NZPointList'

* Disable ManySmallCircles tests. Failing on Mac.

* Change beads image to JPEG for smaller file size.
Try enabling the ManySmallCircles tests again.

* Remove ManySmallCircles tests. They are failing on the Mac build.

* Fix expectations to check all circles.

* Changing case on a case-insensitive file system
Step 1: remove the old file names

* Changing case on a case-insensitive file system
Step 2: add them back with the new names

* Fix cmpAccum function to be strictly weak ordered.

* Add tests for many small circles.

* imgproc(perf): fix HoughCircles tests

* imgproc(houghCircles): refactor code

- simplify NZPointList
- drop broken (de-synchronization of 'current'/'mi' fields) NZPointSet iterator
- NZPointSet iterator is replaced to direct area scan
- use SIMD intrinsics
- avoid std exceptions (build for embedded systems)
2017-12-28 17:23:11 +03:00
Vadim Pisarevsky
69a6765bf7 Merge pull request #10387 from terfendail:resize23_perftest 2017-12-22 13:26:05 +00:00
Vitaly Tuzov
b6fe4cc807 Added performance tests for linear resize of 2 and 3-channel images 2017-12-20 18:11:21 +03:00
Alexander Alekhin
d5f152494b fix file names 2017-12-15 14:59:35 +03:00
Vitaly Tuzov
51cb56ef2c Implementation of bit-exact resize. Internal calls to linear resize updated to use bit-exact version. (#9468) 2017-12-13 15:00:38 +03:00
elenagvo
a25c443d1f add perf test for boxFilter CV8U to CV16U 2017-12-01 14:38:00 +03:00
elenagvo
11ddb9332c add HAL for adaptiveThreshold 2017-11-27 15:35:02 +03:00
Alexander Alekhin
a08044d6f2 Merge pull request #8833 from terfendail:resizenn_perftest 2017-09-25 16:42:07 +00:00
vipinanand4
39e742765a Merge pull request #9618 from vipinanand4:goodFeaturesToTrack_added_gradiantSize
Added gradiantSize param into goodFeaturesToTrack API (#9618)

* Added gradiantSize param into goodFeaturesToTrack API

Removed hardcode value 3 in goodFeaturesToTrack API, and
added new param 'gradinatSize' in this API so that user can
pass any gradiant size as 3, 5 or 7.

Signed-off-by: Vipin Anand <anand.vipin@gmail.com>
Signed-off-by: Nilaykumar Patel<nilay.nilpat@gmail.com>
Signed-off-by: Prashanth Voora <prashanthx85@gmail.com>

* fixed compilation error for java test

Signed-off-by: Vipin Anand <anand.vipin@gmail.com>

* Modifying code for previous binary compatibility and fixing other warnings

fixed ABI break issue

resolved merged conflict

compilation error fix

Signed-off-by: Vipin Anand <anand.vipin@gmail.com>
Signed-off-by: Patel, Nilaykumar K <nilay.nilpat@gmail.com>
2017-09-22 14:04:43 +00:00
Vitaly Tuzov
22fcbaed64 Added performance test for nearest neighbor resize 2017-09-22 12:34:58 +03:00
Alexander Alekhin
a4a47b538c build: detect Android via '__ANDROID__' macro
https://sourceforge.net/p/predef/wiki/OperatingSystems
2017-07-10 12:43:59 +03:00
Alexander Alekhin
006966e629 trace: initial support for code trace 2017-06-26 17:07:13 +03:00
Vitaly Tuzov
3a5e036feb Updated fix for accumulate performance test in case of multiple iterations 2017-06-13 19:23:34 +03:00
Vitaly Tuzov
01f773b803 Fix for accumulate performance test in case of multiple iterations 2017-05-16 18:28:13 +03:00
Vitaly Tuzov
2492c299f3 Extended set of existing performance test to OpenVX HAL suitable execution modes 2017-04-27 12:32:29 +03:00
Tomoaki Teshima
aec59aba34 suppress warnings
- brush up the implementation
2017-02-23 09:11:12 +09:00
Tomoaki Teshima
64cf206fb5 optimize blend using universal intrinsic
- add more channels/depth performance test for blend
2017-02-20 19:09:26 +09:00
Tomoaki Teshima
37be9ddeec add enum Bayer**2BGRA
- let it possible to reach Bayer2BGRA conversion
2017-02-11 00:20:57 +09:00
Alexander Alekhin
7a9ed39655 test: update HoughLines perf test 2016-10-20 16:54:35 +03:00
Tomoaki Teshima
ea6410d1e7 use universal intrinsic in threshold
* add performance test for 32F and 64F threshold
  * requires update of opencv_extra
2016-10-11 18:00:41 +09:00
Vadim Pisarevsky
a9ab869800 seriously improved performance of blur function, especially 3x3 and 5x5 cases (#7262)
* seriously improved performance of blur function, especially 3x3 and 5x5 cases

* trying to fix warnings and test failures

* replaced #if 0 with #if IPP_DISABLE_BLOCK
2016-09-09 23:31:02 +04:00
Pavel Vlasov
680ca88ce0 Outdated ICV restrictions were removed; 2016-08-19 15:08:39 +03:00
Alexander Alekhin
f2e41ce391 ocl: fix input data for Canny perf test
"declare.in(img, WARMUP_RNG)" overrides input image with random values

Also added support for different input sizes (via cv::resize)
2016-08-09 15:49:22 +03:00
Maksim Shabunin
6e9d0d9a0c Visual Studio 2015 warning and test fixes 2015-10-20 12:48:37 +03:00
Pavel Vlasov
14b006e808 IPP_VERSION_X100 was changed to:
IPP_VERSION_MAJOR * 100 + IPP_VERSION_MINOR*10 + IPP_VERSION_UPDATE
to manage changes between updates more easily.

IPP_DISABLE_BLOCK was added to ease tracking of disabled IPP functions;
2015-09-25 17:50:15 +03:00
Seon-Wook Park
7b01e32fe8 spatialGradient: HAL-accelerated
TODO: Make nosse ver faster than Sobel
      Make sse ver faster than Sobel for BORDER_REPLICATE
2015-06-26 16:41:00 +02:00
Seon-Wook Park
6803d1ed28 Support non continuous, BORDER_REPLICATE
TODO: HAL-accelerated code
2015-06-26 14:49:31 +02:00
Seon-Wook Park
e633c991b0 spatialGradient: Doc, fix dangling newline error 2015-06-19 04:57:01 +02:00
Seon-Wook Park
b5c4355c13 spatialGradient: Add basic perf test 2015-06-19 04:29:28 +02:00
Maksim Shabunin
9efc57f24b Increased perf_imgproc.moments max error 2015-04-27 17:05:55 +03:00
kalistratovag
20156d1eeb Adding 1 to moments to avoid tests fails 2015-04-27 15:36:40 +03:00
orestis
9811a739b0 Change gaussianBlur5x5 perf test epsilon
Set it 1 instead of 0.001, as is already done in gaussianBlur3x3. That
will allow integer destination matrices that are not exactly the same,
but very close to the expected result, to pass the test.
2014-12-20 17:14:21 +02:00
Vadim Pisarevsky
a798386660 Merge pull request #3326 from ilya-lavrenov:neon_canny 2014-10-11 17:58:24 +00:00
Alexander Karsakov
dfff9a8125 Added OCL performance test for YUV2RGB_IYUV, YUV2GRAY_420, RGB2YUV_IYUV, YUV2RGB_YUY2, YUV2GRAY_YUY2 color conversion modes 2014-10-08 17:25:51 +04:00
Ilya Lavrenov
a54f6bb08b cv::cvtColor 2014-10-06 11:52:41 +00:00
Alexander Karsakov
4880dd0cd6 Added performance test for OCL version of HoughLines and HoughLinesP 2014-09-30 11:03:54 +04:00
Alexander Karsakov
cf1ae3513f Fixed getConversionInfo() for YUV2RGBA_* conversions 2014-08-18 18:34:44 +04:00
Alexander Alekhin
55188fe991 world fix 2014-08-05 20:12:35 +04:00
vbystricky
4286f60387 Extract imgcodecs module from highgui 2014-07-07 16:28:08 +04:00
Alexander Alekhin
d65abcaedb Merge pull request #2830 from mlyashko:moments 2014-07-02 09:14:48 +00:00
mlyashko
6f2fea7ea5 added perftest for moments 2014-06-26 13:05:43 +04:00
vbystricky
09bcc061dd Change kernel for optimization. Remove restriction to align data
Fix kernel compilation errors on AMD system

Fix licanse information in cl file

Support CV_64F destination type

Change build options of the kernel

Optimize sum of square

Remove separate kernel for integral square

Increase epsilon for perfomance tests

Increase epsilon for perfomance tests

Test double support on AMD devices

Fix some issues

Try to fix problems with AMD device

Try to solve problem with AMD device

Fix error of destination size in kernel

Fix warnings
2014-06-24 18:32:52 +04:00
vbystricky
655465d9f8 Increase epsilon for pass sanity check 2014-06-19 18:52:25 +04:00
vbystricky
eb54c83985 Fix error 2014-06-19 18:09:23 +04:00
vbystricky
6d6ad1b1d9 Change threshold 2014-06-19 17:45:04 +04:00
vbystricky
b32fbe72f6 Add peromance tests for OCL integral sum of square 2014-06-19 17:07:09 +04:00
Elena Gvozdeva
feeb386bf3 Added support for 3-channels 2014-06-11 11:49:22 +04:00
Alexander Alekhin
ab9dff12d5 Merge pull request #2812 from arkunze:pullreq/140520-filter2D 2014-06-04 12:20:54 +04:00
Ilya Lavrenov
108527c951 added missed INTER_CUBIC 2014-06-03 21:46:30 +04:00
Alexander Alekhin
d210132b99 Merge pull request #2638 from mlyashko:floodfill_perftest 2014-05-30 00:42:42 +04:00
mlyashko
f0e3940558 perftest for floodfill 2014-05-29 13:36:13 +04:00
Alexander Alekhin
5a268dd27c Merge pull request #2797 from ElenaGvozdeva:ocl_MT 2014-05-28 13:39:48 +04:00
Elena Gvozdeva
40eea303ec OCL: matchTemplate: changed perf test 2014-05-27 14:31:11 +04:00
Alexander Alekhin
52ba76143c icv: fix test eps on Mac for failed perf test 2014-05-23 14:54:09 +04:00
Alexander Karsakov
fa1ed5580d Fixed cv::pyrUp performance test 2014-05-21 14:09:21 +04:00
Aaron Kunze
ab1a37d564 Bug fixes for filter2D and associated tests. 2014-05-20 22:30:09 -07:00
Alexander Alekhin
a82dd8ce48 Merge pull request #2700 from ilya-lavrenov:tapi_cvtColor 2014-05-08 17:01:38 +04:00
Ilya Lavrenov
3ccaa5294e added OpenCL RGB <-> Luv conversions 2014-05-07 18:09:57 +04:00
Alexander Alekhin
9c780260c2 Merge pull request #2605 from akarsakov:ipp_min_eigen_val 2014-05-07 18:01:44 +04:00
Alexander Alekhin
9e47672b2b Merge pull request #2658 from akarsakov:ipp_hough 2014-05-07 17:07:22 +04:00
Ilya Lavrenov
1ad69aba35 changes sigma in perf tests 2014-05-07 14:59:03 +04:00
Alexander Karsakov
f6a8ac2f6c Changed check condition in tests in case ipp disabled. 2014-05-06 15:24:54 +04:00
Alexander Karsakov
5580d08c6e Added setIppErrorStatus() 2014-04-24 16:48:46 +04:00
Alexander Karsakov
1909978f7d Added ippiHoughProbLine to cv::HoughLinesP 2014-04-24 12:28:23 +04:00
vbystricky
82a198a8f2 Fix epsilon calculation for sanity check in x32 build 2014-04-24 10:48:32 +04:00
Alexander Karsakov
f3d1001c5d Changed tests for support intersection between expected and actual lists of lines. 2014-04-23 13:18:47 +04:00
Alexander Alekhin
c2319285a9 Merge pull request #2649 from ilya-lavrenov:gabor_eps 2014-04-23 11:49:43 +04:00
Andrey Pavlenko
cd01d705c9 Merge pull request #2627 from akarsakov:ipp_pyramids 2014-04-22 17:19:27 +04:00
Ilya Lavrenov
5c0a4878d7 changes eps 2014-04-22 15:49:17 +04:00
Elena Gvozdeva
0265247504 Added ippiDistanceTransform for cv::distanceTransform, maskSize=3,5 2014-04-21 15:17:55 +04:00
Alexander Karsakov
6202f54a18 Fixed sanity check for integer type 2014-04-17 19:02:56 +04:00
Alexander Karsakov
a7d12aabab Added epsilon for tests with float data type 2014-04-16 18:07:24 +04:00
Alexander Karsakov
793e980876 Added IPP Pyramid API functions to cv::buildPyramid 2014-04-16 17:10:20 +04:00
Alexander Karsakov
ef2f5999ed Added perf test for cv::buildPyramid 2014-04-16 13:01:49 +04:00
Alexander Karsakov
10cb660240 Fixed condition 2014-04-16 10:28:24 +04:00
Elena Gvozdeva
3553e9379b fixed 2014-04-15 11:41:33 +04:00
Ilya Lavrenov
884b706b3a fixed warning 2014-04-14 14:40:40 +04:00
Alexander Karsakov
7369cfd9ec Added perf test for cornerMinEigenVal 2014-04-10 16:09:48 +04:00
vbystricky
a6b53489e6 Change sanity check for perfomance test of bilateral filter 2014-04-07 14:26:47 +04:00
mlyashko
70fdfa0bdb changed type of sanity check 2014-03-25 16:43:20 +04:00
mlyashko
953aafbd3d Merge branch 'master' of https://github.com/Itseez/opencv into back_proj_fix 2014-03-25 14:52:39 +04:00
mlyashko
f38fe76025 added perf test for CalcBackProj 2014-03-25 14:50:37 +04:00
Ilya Lavrenov
82e6edfba2 optimized sep filter 2014-03-18 00:16:38 +04:00
Andrey Pavlenko
2a1d5c6d43 Merge pull request #2428 from alalek:ocl_copyMakeBorder_3channels 2014-03-17 13:10:34 +04:00
Ilya Lavrenov
6f12f1b3b5 added 3 vs 4 channels performance tests 2014-03-14 17:30:14 +04:00
Alexander Alekhin
dca401d4cc ocl: pyrUp/pyrDown 3-channel 2014-03-12 14:39:55 +04:00
Alexander Alekhin
e7475bff68 TAPI: remap 3-channel 2014-03-10 20:35:10 +04:00
Alexander Alekhin
e4608229f0 ocl: copyMakeBorder 3-channel 2014-03-10 17:22:49 +04:00
Ilya Lavrenov
804b70b72f ported 2.4 perf tests for matchTemplate 2014-02-20 18:11:56 +04:00
Andrey Pavlenko
47d9b933f6 Merge pull request #2345 from ilya-lavrenov:tapi_3cn_perf 2014-02-17 17:38:26 +04:00
Ilya Lavrenov
c8e22c04c8 extended performance test 2014-02-16 13:42:25 +04:00
Ilya Lavrenov
7629bb78a4 extended performance tests to test 3 channels 2014-02-16 01:31:33 +04:00