Commit Graph

522 Commits

Author SHA1 Message Date
Li Peng
b72d196753 optimization for warpAffine and warpPerspective
Add new ocl kernels for warpAffine and warpPerspective,
The average performance improvemnt is about 30%. The new
ocl kernels require CV_8UC1 format and support nearest
neighbor and bilinear interpolation.

Signed-off-by: Li Peng <peng.li@intel.com>
2016-11-29 14:55:58 +08:00
Li Peng
6cb73356b1 laplacian ocl kernel optimization
This ocl kernel is 46%~171% faster than current laplacian 3x3
ocl kernel in the perf test, with image format "CV_8UC1".

Signed-off-by: Li Peng <peng.li@intel.com>
2016-11-17 12:01:02 +08:00
Alexander Alekhin
c93fb14dd2 Merge pull request #7653 from pengli:deriv 2016-11-14 13:40:04 +00:00
Juha Reunanen
5bb08bae28 Merge pull request #7464 from reunanen:test-7409-7458
Change contour test images to be very wide (#7464)

* Change contour test images to be very wide (#7409, #7458)

Unfortunately, slows down the tests.

* Decrease the number of contour test cases, in order to (at least partially) offset the test run duration increase caused by making the test images wider

* Don't test with very wide images on 32-bit architectures
2016-11-14 16:31:29 +03:00
Li Peng
8d4a7d3dcc sobel and scharr ocl kernel optimization
It improves 108%~230% performance in the perf test
with image format "CV_8UC1" and kernel size 3.

Signed-off-by: Li Peng <peng.li@intel.com>
2016-11-14 15:34:59 +08:00
Li Peng
8f63f51e81 gaussian blur ocl kernel optimization
This ocl kernel is for 3x3 kernel size and CV_8UC1 format
It is 115% ~ 300% faster than current ocl path in perf test

python ./modules/ts/misc/run.py -t imgproc --gtest_filter=OCL_GaussianBlurFixture*

Signed-off-by: Li Peng <peng.li@intel.com>
2016-11-08 11:22:26 +08:00
Alexander Alekhin
442380bfac Merge pull request #7585 from pengli:morph_filter 2016-11-07 17:11:32 +00:00
Li Peng
35198b84a4 morph ocl kernel for erode and dilate filter
This kernel is for CV_8UC1 format and 3x3 kernel size,
It is about 33% ~ 55% faster than current ocl kernel with below perf test

python ./modules/ts/misc/run.py -t imgproc --gtest_filter=OCL_ErodeFixture*
python ./modules/ts/misc/run.py -t imgproc --gtest_filter=OCL_DilateFixture*

Also add accuracy test cases for this kernel, the test command is

./bin/opencv_test_imgproc --gtest_filter=OCL_Filter/MorphFilter3x3*

Signed-off-by: Li Peng <peng.li@intel.com>
2016-11-04 12:24:24 +08:00
Alexander Alekhin
4c66772783 Merge pull request #7516 from sovrasov:find_contours_fix 2016-10-30 08:33:12 +00:00
Vadim Pisarevsky
2b7866f21b Merge pull request #7503 from pengli:box_filter_v2 2016-10-29 21:20:06 +00:00
Li Peng
3607da9f6b ocl kernel performance optimization for box filter
The optimization is for CV_8UC1 format and 3x3 box filter,
it is 15%~87% faster than current ocl kernel with below perf test

./modules/ts/misc/run.py -t imgproc --gtest_filter=OCL_BlurFixture*

Also add test cases for this ocl kernel.

Signed-off-by: Li Peng <peng.li@intel.com>
2016-10-26 11:56:11 +08:00
Vladislav Sovrasov
34df4ae02a Add a regression test, fix documentation 2016-10-25 11:38:07 +03:00
Vladislav Sovrasov
f5592fd21b Fix wrong default mask value in floodFill 2016-10-25 11:16:59 +03:00
Alexander Alekhin
5da8d65371 eliminate compiler warnings 2016-10-08 02:19:43 +03:00
Alexander Alekhin
696972bf8e ocl: update Canny test threshold
OpenCL Device:
- Intel(R) HD Graphics (OpenCL 2.0: r2.0.54425)
2016-09-28 13:38:02 +03:00
Vitaly Tuzov
48f132f35f Fix Sobel evaluation for image ROI without isolated border. 2016-09-16 16:08:37 +03:00
Vadim Pisarevsky
5ddd25313f Add Grana's connected components algorithm for 8-way connectivity. (#6823)
* Add Grana's connected components algorithm for 8-way connectivity. That algorithm is faster than Wu's one (currently implemented in opencv). For more details see https://github.com/prittt/YACCLAB.

* New functions signature and distance transform compatibility

* Add tests to imgproc/test/test_connectedcomponents.cpp

* Change of test_connectedcomponents.cpp for c++98 support
2016-08-26 16:01:00 +04:00
Alexander Alekhin
86a515fdae imgproc: fix accuracy check for HLS cvtColor 2016-08-19 17:32:17 +03:00
Pavel Vlasov
680ca88ce0 Outdated ICV restrictions were removed; 2016-08-19 15:08:39 +03:00
Alexander Alekhin
2812762d6b imgproc: disable IPP for GaussianBlur in case of ROI 2016-08-05 12:27:18 +03:00
Alexander Alekhin
e20a93f7d6 imgproc test: Canny with custom gradient 2016-07-19 17:15:36 +03:00
arybnikov
2deda0e868 Added tests for issues ##4515, 6544 2016-07-18 10:01:13 +03:00
Ilya Lavrenov
5bc10ef796 fixed empty image condition in resize 2016-07-12 13:23:19 +03:00
Tomoaki Teshima
bbeac745ca Update test case for 64F version 2016-05-26 08:38:29 +09:00
atinfinity
ef0931be44 fixed compilation warning 2016-05-18 00:34:51 +09:00
atinfinity
6930325847 Added test case of cv::threshold(CV_64F) 2016-05-17 22:57:05 +09:00
Alexander Alekhin
275bfcf99c fix logPolar/linearPolar 2016-03-03 18:33:11 +03:00
Alexander Alekhin
49d3e39bc4 test: added regression test for convexityDefects (#5908) 2016-01-11 19:47:36 +03:00
Maksim Shabunin
a9607c8531 Coverity: fixed uninitialized fields in test_goodfeaturetotrack 2015-12-09 14:25:08 +03:00
Maksim Shabunin
878ec080c7 Merge pull request #3540 from AlexanderUsentsov:good_feature 2015-12-08 08:02:28 +00:00
ausentso
9abdf39c90 added test for goodFeaturesToTrack; 2015-12-07 15:24:38 +03:00
Pavel Vlasov
2b27f7dbb3 Fixed warnings for IPP9+ build; 2015-12-01 16:10:29 +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
Vitaly Tuzov
4a0152c731 Resize area result verification moved to the separate function
fix position of assert expected/actual parameter
2015-09-21 13:44:28 +02:00
Vitaly Tuzov
7d245e0f29 Added more resize_area tests to ensure right rounding behavior for half and quarter downscaling 2015-09-21 13:44:27 +02:00
Ilya Lavrenov
d81a0df489 fixed memory leak caused by illegal memory access 2015-09-11 19:07:20 +02:00
Ilya Lavrenov
e7ac52d17a fixed "Conditional jump or move depends on uninitialised value" warning 2015-09-11 19:03:33 +02:00
Ilya Lavrenov
7e26cf569f typo 2015-09-11 19:01:18 +02:00
Ilya Lavrenov
5547398786 fixed memory leaks in warpAffine tests 2015-09-11 18:47:30 +02:00
Ilya Lavrenov
7eba9055e0 fixed memory leaks in floodfill tests 2015-09-11 18:47:20 +02:00
Ilya Lavrenov
2a8ef1d065 fixed memory leaks in cvtyuv tests 2015-09-11 18:47:11 +02:00
Maksim Shabunin
14d7b38613 Fixing GCC 4.9 warnings 2015-07-22 16:12:31 +03:00
Vadim Pisarevsky
80eec9d531 Merge pull request #4064 from MSOpenTech:test-contrib 2015-07-01 10:47:44 +00:00
Evgeny Agafonchikov
6a6d58d389 Adding test support for WINRT 2015-06-30 15:35:20 +03: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
815cd8970d spatialGradient: Remove unnecessary index calculation 2015-06-19 04:46:17 +02:00
Seon-Wook Park
11fb1f74cc spatialGradient: Add asserts 2015-06-19 01:23:01 +02:00
Seon-Wook Park
9f1c641199 spatialGradient: Add test class and Sobel proxy method 2015-06-18 17:42:32 +02:00
Vadim Pisarevsky
ffabbfa778 added test to prove that remap does not leak memory (http://code.opencv.org/issues/2502). disabled the test for now to save execution time. 2015-05-14 18:21:26 +03:00
Vadim Pisarevsky
ca90667723 fixed compile warnings on Linux and Windows 2015-05-14 16:42:51 +03:00
Vadim Pisarevsky
05d888316a added test for http://code.opencv.org/issues/2957 2015-05-14 16:25:18 +03:00
Vadim Pisarevsky
feb5b6aa93 increased singularity epsilon in LU decomposition. This solved singular case from http://code.opencv.org/issues/3305. Added the respective test. 2015-05-14 10:42:55 +03:00
Vadim Pisarevsky
2e7e754032 added support for n-channel (n>4) images in warpAffine/warpPerspective/remap: http://code.opencv.org/issues/4190 2015-05-14 08:06:46 +03:00
Vadim Pisarevsky
d3b0cb878a added test for http://code.opencv.org/issues/2736 2015-05-13 22:16:35 +03:00
Andrey Pavlenko
d2409d12c6 porting polylines with empty vector<Point> from 2.4 to master 2015-04-24 17:11:51 +03:00
Deanna Hood
5a552b6d8d Regression test for Bug #3989: check fitEllipse with rotation angles of n*pi/2 2015-04-18 13:51:26 -04:00
Vadim Pisarevsky
f9b8ce1d25 Merge pull request #3784 from ilya-lavrenov:nvidia_android 2015-03-05 06:43:03 +00:00
Ilya Lavrenov
cf4c79ebdd disabled some kernels for Android && NVidia 2015-03-04 14:46:49 +03:00
Ilya Lavrenov
26eebb3ee3 increased EPS for cvtColor for NVIDIA 2015-03-03 15:26:51 +03:00
Vadim Pisarevsky
9c81338cb9 Merge pull request #3505 from karelknoest:lsd_subpixel 2015-01-22 09:44:29 +00:00
karelknoest
1ded2de2dd Let LineSegmentDetector output line segment coordinates in float precision, as supported by the LSD algorithm. 2015-01-20 17:05:38 +01:00
Ilya Lavrenov
1ca35b7424 resize are fast 2015-01-12 10:59:29 +03:00
ElenaGvozdeva
7dd059c084 fixed test for ocl WarpAffine 2014-11-06 17:19:45 +03:00
Ilya Lavrenov
1fe5441185 cv::convertMaps 2014-11-01 10:13:28 -07:00
Ilya Lavrenov
1b01e1fe68 cv::resize (INTER_AREA CV_16S, CV_32F) 2014-11-01 13:19:52 +03:00
Alexander Karsakov
60367907fe Used direct float calculations 2014-10-21 17:18:03 +03:00
Alexander Karsakov
5aa9ac9a77 Added OCL code for YUV422 -> RGB[A]|BGR[A] color conversion 2014-10-21 17:18:03 +03:00
Alexander Karsakov
c8707b891b Added OCL code for RGB[A]|BGR[A] -> YUV_[YV12|IYUV] color conversion 2014-10-21 17:18:03 +03:00
Alexander Karsakov
8c91604f5a Added OCL code for YUV2GRAY_420 color conversion 2014-10-21 17:18:02 +03:00
Alexander Karsakov
1cc17a7186 Added OCL code for YUV2BGR_YV12 and YUV2BGR_IYUV color conversions 2014-10-21 17:18:02 +03:00
Alexander Karsakov
85b60ee3cb Added support for YUV2RGB[A]_NV21 and YUV2BGR[A]_NV21 conversion 2014-10-21 17:18:02 +03:00
Vadim Pisarevsky
a798386660 Merge pull request #3326 from ilya-lavrenov:neon_canny 2014-10-11 17:58:24 +00:00
Vadim Pisarevsky
c37acef077 Merge pull request #3328 from ilya-lavrenov:warp_tests 2014-10-11 17:19:52 +00:00
Ilya Lavrenov
faf91a466c imrpoved output of warp test in case of failure 2014-10-11 02:35:02 -07:00
Vadim Pisarevsky
397870d7a5 Merge pull request #3279 from akarsakov:ocl_houghlines 2014-10-09 14:56:45 +00:00
Alexander Karsakov
66a8acfd3d Optimization for HoughLinesP 2014-10-07 17:53:33 +04:00
Alexander Karsakov
eaf5a163b1 Added HoughLinesP OCL implementation 2014-09-29 16:48:16 +04:00
Ilya Lavrenov
6377f5a458 fixed warps accuracy tests 2014-09-26 09:41:46 +00:00
Ilya Lavrenov
4dd6148646 cv::resize 16uc1 2014-09-26 09:41:46 +00:00
Ilya Lavrenov
c0b702a994 cv::resize area 2x 2014-09-26 09:41:45 +00:00
Alexander Karsakov
fee8f29f48 Refactoring, minor optimization 2014-09-04 16:31:30 +04:00
Alexander Karsakov
6b6c7ccfea Added accuracy tests with real and generated data 2014-08-27 17:58:48 +04:00
Alexander Karsakov
f7aadd07f6 Added getLines, fill_accum_local kernels 2014-08-27 17:57:22 +04:00
Alexander Karsakov
038bfb98ec Added fill_accum kernel 2014-08-25 13:55:09 +04:00
Alexander Karsakov
5c1f71de51 Added make_point_list kernel 2014-08-22 16:50:01 +04:00
Alexander Karsakov
3d222d313b Fixed range for 'v' channel for 8U images 2014-08-21 17:22:06 +04:00
Vadim Pisarevsky
4530c7ad08 trying to fix builds 2014-08-14 13:18:04 +04:00
Adil Ibragimov
8a4a1bb018 Several type of formal refactoring:
1. someMatrix.data -> someMatrix.prt()
2. someMatrix.data + someMatrix.step * lineIndex -> someMatrix.ptr( lineIndex )
3. (SomeType*) someMatrix.data -> someMatrix.ptr<SomeType>()
4. someMatrix.data -> !someMatrix.empty() ( or !someMatrix.data -> someMatrix.empty() ) in logical expressions
2014-08-13 15:21:35 +04:00
Elena Gvozdeva
8124d10526 fixed Erode and Dilate in case of kernel = Mat() 2014-08-12 12:19:13 +04:00
Alexander Alekhin
b7d1a70919 Merge pull request #3063 from akarsakov:ocl_warps_check 2014-08-11 13:20:11 +00:00
Vadim Pisarevsky
8368d54d36 Merge pull request #3061 from ElenaGvozdeva:ocl_resize 2014-08-11 06:41:48 +00:00
Vadim Pisarevsky
99eed2d885 Merge pull request #3057 from Adil-Ibragimov:adding-constness 2014-08-08 17:27:47 +00:00
Vadim Pisarevsky
62f90219fc Merge pull request #3064 from ElenaGvozdeva:ocl_GaussianBlur 2014-08-08 17:16:38 +00:00
Elena Gvozdeva
7cba3ac4f8 small fix for GaussianBlur ocl test 2014-08-08 17:47:57 +04:00
Alexander Karsakov
7849c35de1 Changed check condition in tests for warpAffine and warpPerspective 2014-08-08 17:14:38 +04:00
Elena Gvozdeva
b7899c3d5c small fix for ocl_resize 2014-08-08 16:12:10 +04:00
Elena Gvozdeva
b5f251c815 fixed test ocl_MatchTemplate for sparse matrix 2014-08-08 13:37:18 +04:00
Adil Ibragimov
98d5731ad8 some formal changes (generally adding constness) 2014-08-07 15:49:14 +04:00
Elena Gvozdeva
7dd7dd97cd fixed nDiffs for CalcBackProject 2014-08-07 15:36:00 +04:00
Elena Gvozdeva
c9b5d8cf4c fixed tests for ocl_filter2d, ocl_matchTemplate, ocl_histogram.cpp 2014-08-07 15:36:00 +04:00
Alexander Alekhin
55188fe991 world fix 2014-08-05 20:12:35 +04:00
Elena Gvozdeva
7999fbf765 fixed ocl_integral 2014-08-05 12:01:28 +04:00
Elena Gvozdeva
f32b52ea8d fixed test for CvtColor RGB -> Luv 2014-08-05 11:54:26 +04:00
Elena Gvozdeva
8c2c3b54d9 fixed ocl tests for BlendLinear, BoxFilter, Integral 2014-08-05 11:41:08 +04:00
Vladislav Vinogradov
a3da3a01e1 fix test_opencv_imgproc compilation 2014-08-04 12:13:33 +04:00
vbystricky
878dec65c8 Optimize OpenCL version of morfology and box filters for small filter kernels 2014-07-30 10:32:52 +04:00
Vadim Pisarevsky
40370345c5 Merge pull request #2765 from pradeep-pyro:kullback_leibler 2014-07-15 08:57:31 +00:00
pradeep
7171431e7c Changed cv::log to std::log 2014-07-15 12:32:53 +08:00
Alexander Alekhin
910d8f8e0b Merge pull request #2888 from ilya-lavrenov:tapi_remap 2014-07-11 09:59:27 +00:00
pradeep
f8b23cff18 Fixed test errors, added support for C data types. 2014-07-09 13:39:40 +08:00
vbystricky
4286f60387 Extract imgcodecs module from highgui 2014-07-07 16:28:08 +04:00
Alexander Alekhin
1493160f26 Merge pull request #2899 from ilya-lavrenov:tapi_ex 2014-06-30 10:05:24 +00:00
Ilya Lavrenov
36db85a94d optimized some operations 2014-06-27 12:52:29 +04:00
Ilya Lavrenov
87f4b47a4f optimized INTER_LINEAR mode 2014-06-23 16:25:05 +04:00
Ilya Lavrenov
007593cab7 cvtColor - optimized index calculations; usage of build-in functions 2014-06-23 02:10:42 +04:00
Alexander Alekhin
04628d770c Merge pull request #2849 from ElenaGvozdeva:ocl_matchTemplate_3cn 2014-06-17 14:37:52 +04:00
Elena Gvozdeva
feeb386bf3 Added support for 3-channels 2014-06-11 11:49:22 +04:00
Alexander Alekhin
e430ab1a58 Merge pull request #2785 from akarsakov:ocl_pyrDown_borders 2014-06-06 18:53:14 +04:00
Alexander Alekhin
ab9dff12d5 Merge pull request #2812 from arkunze:pullreq/140520-filter2D 2014-06-04 12:20:54 +04:00
Roman Donchenko
33087f9eaa Merge remote-tracking branch 'origin/2.4' into merge-2.4 2014-06-02 13:43:28 +04:00
Alexander Karsakov
5022a0fae3 Added new border types for pyrDown 2014-05-26 13:57:03 +04:00
Aaron Kunze
ab1a37d564 Bug fixes for filter2D and associated tests. 2014-05-20 22:30:09 -07:00
Roman Donchenko
7ea1bf3cf0 Fixed several problems found by PVS-Studio.
This fixes all problems from the article "Checking OpenCV with PVS-Studio"
<http://www.viva64.com/en/b/0191/> that are not already fixed and are
not in 3rdparty or the legacy module.

The problems fixed are two instances of useless code and one instance
of unspecified behavior (right-shifting a negative number).
2014-05-20 13:54:00 +04:00
pradeep
c5b4b99350 Implemented Kullback-Leibler divergence 2014-05-17 23:44:31 +08:00
Ilya Lavrenov
e2558e5ee5 increased eps to pass tests 2014-05-12 11:54:15 +04: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
9e47672b2b Merge pull request #2658 from akarsakov:ipp_hough 2014-05-07 17:07:22 +04:00
Alexander Alekhin
d54aa307fd Merge pull request #2676 from ilya-lavrenov:ipp_gaussianblur 2014-05-07 16:49:59 +04:00
Alexander Karsakov
f6a8ac2f6c Changed check condition in tests in case ipp disabled. 2014-05-06 15:24:54 +04:00
Alexander Alekhin
03b1d133df Merge pull request #2660 from arkunze:pullreq/140423-filter2D 2014-05-06 12:59:03 +04:00
Ilya Lavrenov
55bbca2d09 added more types to cv::GaussianBlur 2014-04-28 13:50:28 +04:00
Alexander Karsakov
b046210296 Changed epsilon for hog test, because hog detector is sensible to resize accuracy. 2014-04-28 11:37:46 +04:00
Alexander Karsakov
1909978f7d Added ippiHoughProbLine to cv::HoughLinesP 2014-04-24 12:28:23 +04:00
Aaron Kunze
1f8b41f390 Optimizes filter2D for Intel GPUs 2014-04-23 10:20:09 -07:00
Alexander Karsakov
f3d1001c5d Changed tests for support intersection between expected and actual lists of lines. 2014-04-23 13:18:47 +04:00
Andrey Pavlenko
7c3d5b056a Merge pull request #2612 from grkutty:pullreq/140319-bilateral-b 2014-04-22 09:32:39 +04:00
Ilya Lavrenov
87eb1b8fcc fixes in imgproc 2014-04-17 14:51:59 +04:00
Andrey Pavlenko
80ef1f6753 Merge pull request #2621 from arkunze:pullreq/140319-resize-b 2014-04-15 19:56:56 +04:00
Vadim Pisarevsky
20aaa8fe77 Merge pull request #2560 from akarsakov:gaussianblur_integer 2014-04-15 13:21:25 +04:00
Aaron Kunze
ebbac3c66d Optimizes OpenCL resize and optical flow to use image extension. 2014-04-14 16:09:17 -07:00
Andrey Pavlenko
8176e893c0 Merge pull request #2609 from alalek:tests_fixes 2014-04-14 18:54:01 +04:00
Ilya Lavrenov
2a051a124f cvtColor 2014-04-14 14:29:36 +04:00
unknown
06df383675 Indent fixes 2014-04-11 19:14:01 -07:00
Alexander Alekhin
3a1a3da782 fix tests 2014-04-11 16:11:05 +04:00
unknown
e032b5f5d5 Resolving conflicts after rebasing from public 2014-04-10 12:28:37 -07:00
Aaron Kunze
b59c517f98 Optimizations to OpenCL bilateral filter. 2014-04-10 12:15:13 -07:00
Andrey Pavlenko
e6d6a3a85b Merge pull request #2586 from ilya-lavrenov:ipp_disable 2014-04-09 14:16:25 +04:00
Ilya Lavrenov
e090aa07db disabled some IPP funcs 2014-04-08 22:30:18 +04:00
Ilya Lavrenov
aa5326c231 cv::norm -> cvtest::norm in tests
Conflicts:

	modules/core/src/stat.cpp
2014-04-08 14:49:20 +04:00