Commit Graph

2167 Commits

Author SHA1 Message Date
Michele Cancilla
4b7fc59332 Fixed _P reserved variable name problem and changed getNumThreads with getNumberOfCPUs 2016-11-25 13:25:17 +01:00
Michele Cancilla
5b23c0b176 Fixed unnecessary black spaces;
Extended parallel version to all frameworks supported by OpenCV;
Added some documentation notes in modules/imgproc/include/opencv2/imgproc.hpp;
2016-11-24 15:03:36 +01:00
Rostislav Vasilikhin
7db43f9fff fixed wrong equivalence in YUV conversion (#7481)
* fixed wrong equivalence in YUV conversion

* fixed channel order from YVU to YUV
2016-11-23 17:39:18 +03:00
Vadim Pisarevsky
b8c875d4a1 Merge pull request #7707 from K-Shinotsuka:issue37 2016-11-23 14:15:02 +00:00
k-shinotsuka
284006e336 add NEON code for RGB2Luv_f. 2016-11-23 19:18:41 +09:00
Vadim Pisarevsky
c1ee798213 Merge pull request #7662 from K-Shinotsuka:issue34 2016-11-22 13:57:13 +00:00
Vadim Pisarevsky
af22b6c4a9 Merge pull request #7664 from K-Shinotsuka:issue35 2016-11-22 13:49:14 +00:00
Vadim Pisarevsky
b54bc2db1e Merge pull request #7665 from K-Shinotsuka:issue36 2016-11-22 13:44:42 +00:00
Michele Cancilla
0bc9a0db18 Improvement of sequential connected components Wu's algorithm and provide parallel version of both Wu's and Grana's algorithms (using TBB library) 2016-11-22 11:42:13 +01:00
Pavel Vlasov
dfb9c574a4 IPP 2017 filter2D fix;
filter2D IPP runtime check;
2016-11-21 17:18:03 +03: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
k-shinotsuka
cf5c400ecb add SSE code for RGB2HLS_f. 2016-11-16 00:46:13 +09:00
Alexander Alekhin
c93fb14dd2 Merge pull request #7653 from pengli:deriv 2016-11-14 13:40:04 +00: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
k-shinotsuka
a909527a39 add SSE code for HLS2RGB_f. 2016-11-14 01:44:33 +09:00
k-shinotsuka
614ce7743e add SSE code for HSV2RGB_f. 2016-11-13 23:46:21 +09:00
Vadim Pisarevsky
4ebdf4938a Merge pull request #7634 from paroj:undistpt 2016-11-11 14:13:18 +00:00
Alexander Alekhin
b2e0873af1 Merge pull request #7629 from alalek:issue_7626 2016-11-10 16:35:08 +00:00
Vadim Pisarevsky
a2d6d96ef1 Merge pull request #7161 from terfendail:shortline_fix 2016-11-10 16:02:20 +00:00
Pavel Rojtberg
3609343acf undistortPoints: only consider distCoeffs if present
iters should be 0 if we have no distortion. Also skip tilt distortion in
that case.
Furthermore move variable declarations to usage sites.
2016-11-09 16:11:26 +01:00
Alexander Alekhin
17ffb28807 Merge pull request #7602 from mshabunin:fix-opencl-warnings 2016-11-09 12:35:00 +00:00
Alexander Alekhin
f1d93cb23b Merge pull request #7624 from pengli:gaussian_blur 2016-11-09 09:25:25 +00:00
Alexander Alekhin
183c75358b imgproc: fix trailingZeros for MSVS 2010 2016-11-08 16:48:41 +03:00
Pavel Vlasov
349d5ba012 --perf_instrument parameter now has int type and 0, 1, 2 modes (1 - simple trees, 2 - expanded trees for functions with same name but different calling address);
Maximum depth limit var was added to the instrumentation structure;

Trace names output console output fix: improper tree formatting could happen;
Output in case of error was added;

Custom regions improvements;

Improved timing and weight calculation for parallel regions; New TC (threads counter) value to indicate how many different threads accessed particular node;

parallel_for, warnings fixes and ReturnAddress code from Alexander Alekhin;
2016-11-08 10:18:05 +03: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
mshabunin
3e28d51779 Fixed several OpenCL compiler warnings 2016-11-07 16:49:12 +03: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
Tetragramm
17df65e666 Fix the OpenCL portion to match the c++ code.
Fix an undiscovered bug in the c++ code.
2016-11-03 20:41:16 -05:00
Vadim Pisarevsky
3dc022ae84 Merge pull request #7423 from grahamfyffe:leading_edges 2016-11-03 11:20:43 +00:00
Vadim Pisarevsky
6fceb1dd59 Merge pull request #7601 from sovrasov:remap_big_img_assert 2016-11-02 14:17:04 +00:00
Vadim Pisarevsky
bebd49d91b Merge pull request #7467 from tomoaki0705:featureCheckSimdUniversal 2016-11-02 12:30:55 +00:00
Vladislav Sovrasov
af01267f23 Add assertion to prevent processing of large images in remap 2016-11-02 14:17:56 +03:00
Vadim Pisarevsky
94d879737b Merge pull request #7582 from K-Shinotsuka:issue32 2016-11-02 10:48:29 +00:00
Vadim Pisarevsky
01f355dfaa Merge pull request #7583 from K-Shinotsuka:issue33 2016-11-02 10:47:33 +00:00
k-shinotsuka
a7db950b66 add SSE code for Lab2RGB_f. 2016-11-01 22:33:58 +09:00
Alexander Alekhin
4c66772783 Merge pull request #7516 from sovrasov:find_contours_fix 2016-10-30 08:33:12 +00:00
k-shinotsuka
c1c7c7f83e add SSE code for Luv2RGB_f. 2016-10-30 14:50:18 +09:00
Vadim Pisarevsky
7b532cea89 Merge pull request #7540 from K-Shinotsuka:issue31 2016-10-29 21:28:25 +00:00
Vadim Pisarevsky
2b7866f21b Merge pull request #7503 from pengli:box_filter_v2 2016-10-29 21:20:06 +00:00
k-shinotsuka
992795d47d add SSE code for RGB2Luv_f. 2016-10-29 15:28:31 +09:00
Tomoaki Teshima
cba22349b7 add universal hardware support check function
* use hasSIMD128 rather than calling checkHardwareSupport
  * add SIMD check in spartialgradient.cpp
  * add SIMD check in stereosgbm.cpp
  * add SIMD check in canny.cpp
2016-10-29 13:24:31 +09:00
Vladislav Sovrasov
56c133d459 Disable redundant border initialization in findContours 2016-10-28 11:05:54 +03:00
Pavel Vlasov
f07525031b BORDER_ISOLATED support for Laplacian, boxFilter and morphology; 2016-10-27 09:53:19 +03: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
1f4f50b9dc findContours: integrate workaroung to allow contours detection on image border 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
Tetragramm
c6772a8f5d Fix CLAHE distribution.
Fix CLAHE for 16-bit images.
2016-10-21 19:54:42 -05:00
LukeZhu
ef47bcc88b Fix the problem: filterSmall.cl report error with double 2016-10-17 15:12:42 +08:00
Vitaly Tuzov
26c9889c6b Fix for incorrect line drawing beyond 32768 row or column 2016-10-14 18:37:59 +03:00
Alexander Alekhin
994815fbd4 Merge pull request #7413 from tomoaki0705:featureUniversalThreshold 2016-10-12 10:01:37 +00:00
Juha Reunanen
0f387cda8f Merge pull request #7451 from reunanen:issue-7409
Fix findContours crash for very large images (#7451)

* Cast step to size_t in order to avoid integer overflow when processing very large images

* Change assert to CV_Assert
2016-10-12 10:34:51 +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
matze
d9f6a06773 Adding check for IPP if UMat and OpenCL is available in Sobel and Scharr. 2016-10-09 15:37:22 +02:00
Graham Fyffe
57be99ff18 Added getLeadingEdges function to subdivision2d 2016-10-06 18:01:34 -07:00
Vadim Pisarevsky
84699e0e18 Merge pull request #7399 from K-Shinotsuka:issue27 2016-10-06 13:31:06 +00:00
Vadim Pisarevsky
294bea11a5 Merge pull request #7401 from K-Shinotsuka:issue28 2016-10-06 13:30:31 +00:00
Vadim Pisarevsky
8ee459207e Merge pull request #7402 from K-Shinotsuka:issue29 2016-10-06 13:29:56 +00:00
Vadim Pisarevsky
285e6ad15b Merge pull request #7404 from K-Shinotsuka:issue30 2016-10-06 13:29:00 +00:00
k-shinotsuka
880ace2eb3 add simd code when dcn equals 4 at HSV2RGB_b(). 2016-10-06 00:06:02 +09:00
k-shinotsuka
db8b3252bf add simd code when scn equals 4 at RGB2HLS_b(). 2016-10-05 22:01:33 +09:00
k-shinotsuka
c1745539c4 add simd code when dcn equals 4 at HLS2RGB_b(). 2016-10-05 21:02:53 +09:00
Vadim Pisarevsky
42fbfb9be0 Merge pull request #7311 from fran6co:lsd 2016-10-05 11:27:43 +00:00
Vadim Pisarevsky
43b60f4617 Merge pull request #6961 from K-Shinotsuka:issue5 2016-10-05 11:23:35 +00:00
Vadim Pisarevsky
33ce36397c Merge pull request #7222 from mschoeneck:Improve_findContours_with_SSE2 2016-10-05 11:21:37 +00:00
Vadim Pisarevsky
2b01e316b3 Merge pull request #7392 from K-Shinotsuka:issue25 2016-10-05 11:19:43 +00:00
k-shinotsuka
a5f493a763 add simd code when scn equals 4 at Lab2RGB_b(). 2016-10-05 20:14:02 +09:00
k-shinotsuka
47c792ecc0 add simd code when scn equals 4 at RGB2Luv_b(). 2016-10-05 01:18:43 +09:00
Vadim Pisarevsky
eddd417d74 Merge pull request #7282 from alalek:fix_calculations 2016-10-04 15:05:42 +00:00
Vadim Pisarevsky
a3d44d523d Merge pull request #7214 from mshabunin:hal_integral 2016-10-04 12:26:58 +00:00
Vadim Pisarevsky
0ce3686a37 Merge pull request #7384 from K-Shinotsuka:issue24 2016-10-04 12:06:37 +00: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
k-shinotsuka
e310c3f9f4 add simd code when dcn equals 4 at Luv2RGB_b(). 2016-10-03 00:20:26 +09:00
Maksim Shabunin
3d5c0f1faf HAL interface for cv::integral 2016-09-29 12:12:10 +03:00
Alexander Alekhin
c66efd05fa imgproc: use target type for calculations
reduce scope of "i" variable
2016-09-22 15:14:59 +03:00
Alexander Alekhin
7366be696a imgproc: fix win32 build 2016-09-22 14:56:23 +03:00
Francisco Facioni
8283ddb52f LSD: Use a fixed size array instead of using std::vector 2016-09-22 12:39:49 +01:00
Francisco Facioni
de9c0d9926 LSD: Avoid re allocating the histogram for multiple calls of LineSegmentDetector::detect in ll_angle
This is useful when reusing the same instance of LineSegmentDetector for multiple images
2016-09-22 12:39:47 +01:00
Francisco Facioni
ef6b696446 LSD: Avoid pre allocating a big region, std::vector allocations is quite expensive 2016-09-22 12:39:45 +01:00
Francisco Facioni
a12207c3ad LSD: Avoid using pointers directly, image could be non continuous 2016-09-22 12:39:43 +01:00
Francisco Facioni
f5a0b226f2 LSD: Optimization, avoid converting the image to double 2016-09-22 12:39:37 +01:00
Alexander Alekhin
4ccde1330d Merge pull request #7323 from lupustr3:pvlasov/rgb_to_gray_array_fix 2016-09-22 09:52:16 +00:00
Alexander Alekhin
cde9d640fe Merge pull request #7309 from K-Shinotsuka:issue22 2016-09-21 14:46:53 +00:00
Pavel Vlasov
2073af2f05 RGB2Gray array size fix; 2016-09-21 17:46:51 +03:00
Alexander Alekhin
3f990accb0 Merge pull request #7306 from K-Shinotsuka:issue21 2016-09-21 12:47:33 +00:00
Alexander Alekhin
9b12bd915b Merge pull request #7305 from K-Shinotsuka:issue20 2016-09-21 12:47:15 +00:00
Alexander Alekhin
b2314c9ae5 Merge pull request #7304 from K-Shinotsuka:issue19 2016-09-21 12:46:30 +00:00
Alexander Alekhin
b43989bdaf Merge pull request #7303 from K-Shinotsuka:issue18 2016-09-21 12:45:16 +00:00
Alexander Alekhin
17f0c93b37 Merge pull request #7300 from K-Shinotsuka:issue17 2016-09-21 12:44:42 +00:00
Francisco Facioni
31bd84de12 LSD: Removes unused code 2016-09-19 15:29:30 +01:00
k-shinotsuka
0d85d2cc0a improve RGB2HLS_b() 2016-09-18 23:36:31 +09:00
k-shinotsuka
4f22f48e63 improve HSV2RGB_b() 2016-09-18 23:07:09 +09:00
k-shinotsuka
0fc187d7a3 improve HLS2RGB_b() 2016-09-18 15:46:00 +09:00
k-shinotsuka
1f8aa4f7d3 improve Lab2RGB_b() 2016-09-18 14:48:40 +09:00
k-shinotsuka
37be868679 improve RGB2Luv_b() 2016-09-18 11:08:57 +09:00
k-shinotsuka
4540260df9 improve Luv2RGB_b() 2016-09-17 19:42:48 +09:00
Vitaly Tuzov
48f132f35f Fix Sobel evaluation for image ROI without isolated border. 2016-09-16 16:08:37 +03:00
matze
975d2e4294 Enable built in counting trailing zeros function for Intel compiler and clang. 2016-09-14 18:20:47 +02:00
matze
a865876c0f Added CV_UNUSED to not used variable when build without SSE2 support. 2016-09-13 19:32:37 +02:00
Vadim Pisarevsky
473dba1189 Merge pull request #7208 from terfendail:openvx_hal_impl 2016-09-13 10:15:12 +00:00
Vadim Pisarevsky
ca9183d567 Merge pull request #7034 from K-Shinotsuka:issue12 2016-09-13 10:05:46 +00:00
matze
aaa255465e Renamed haveSSE2 in haveSIMD. Conditional compilation for function header removed 2016-09-11 13:15:53 +02: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
Vitaly Tuzov
5ec47299e2 Fixed warpings, added border mode support to warps and filter. Added morphology HAL API functions implemented as immediate mode OpenVX calls. 2016-09-08 18:55:26 +03:00
Maksim Shabunin
c16f96cb5b Merge pull request #7221 from terfendail:sepfilter_vec_kernel 2016-09-06 20:41:28 +00:00
mschoeneck
9e61a28b2e Improve canny (#7227)
* Improve Canny by using _mm_movemask_epi8 to find next pixel magnitude greater than lower threshold. Added parallelized finalPass to Canny with variable gradients. Little changes in finalPass.

* Some things fixed
2016-09-05 13:51:36 +03:00
matze
fd6f54c895 Bug fixed in findEndContours and icvFindContoursInInterval adjusted. 2016-09-03 20:09:39 +02:00
matze
f6451c7ae6 Varaible names renamed. Macro definitions fixed. findEndContourPoint function fixed. findContoursInInterval adjusted. 2016-09-03 14:35:09 +02:00
matze
25cf33d5c8 Warning fixed by adding a cast to char 2016-09-02 21:09:25 +02:00
matze
0acd818efc Removed #elif defined(__INTEL_COMPILER) because it is disabled at the moment 2016-09-02 20:35:08 +02:00
matze
8af8c4d0aa Improves findContours using SSE _mm_movemask_epi8 to find next contour point. Cleaned up code a little bit 2016-09-02 20:09:13 +02:00
Vitaly Tuzov
f773f45d90 Updated HAL interface for separable filters to address that both kernels are vectors. 2016-09-02 14:42:01 +03:00
Maksim Shabunin
28db4a2207 Merge pull request #7175 from tomoaki0705:featureIntrinsic64 2016-09-02 10:16:44 +00: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
k-shinotsuka
9df8400f3d improve RGB5x52Gray() 2016-08-28 14:25:06 +09: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
b3b434e221 Merge pull request #7141 from lupustr3:pvlasov/instrumentation_extension 2016-08-23 16:48:25 +00:00
Pavel Vlasov
30a6cee2fe Instrumentation for OpenCV API regions and IPP functions; 2016-08-19 18:10:03 +03:00
Alexander Alekhin
bf4c5bef7f Merge pull request #7135 from lupustr3:pvlasov/icv_restrictions_remove 2016-08-19 13:23:47 +00:00
Pavel Vlasov
680ca88ce0 Outdated ICV restrictions were removed; 2016-08-19 15:08:39 +03:00
Vadim Pisarevsky
0f716cdf33 Merge pull request #7108 from K-Shinotsuka:issue16 2016-08-19 08:10:51 +00:00
Alexander Alekhin
e884bbabcb Merge pull request #7110 from tomoaki0705:featureUniversalIntrinsicAccumulate 2016-08-15 14:54:10 +00:00
k-shinotsuka
3faaabd6f4 improve YCrCb2RGB_i<uchar>() 2016-08-15 19:20:04 +09:00
Tomoaki Teshima
4f7679cf51 use universal intrinsic in accumulate series
* accumulate, accumulateSquare, accumulateProduct and accumulateWeighted
2016-08-15 13:00:39 +09:00
k-shinotsuka
020b47c41a improve RGB2Gray<ushort>() 2016-08-12 23:12:51 +09:00
Maksim Shabunin
cf30c582c6 Merge pull request #7057 from K-Shinotsuka:issue13 2016-08-11 11:46:33 +00:00
Maksim Shabunin
de0909e03c Merge pull request #7083 from tomoaki0705:fixAccumulateShortFloat 2016-08-11 09:00:38 +00:00
Alexander Alekhin
0dd00321e0 Merge pull request #7072 from alalek:ocl_fix_canny 2016-08-10 13:44:52 +03:00
Vadim Pisarevsky
df665e2386 Merge pull request #6983 from K-Shinotsuka:issue8 2016-08-10 10:31:12 +00:00
Tomoaki Teshima
ba73249dc0 let the test of AccSqr_SIMD<ushort, float> pass
* The difference becomes too large when multiply is done in int16
  * To reproduce the test failure, IPP has to be switched off
2016-08-10 18:36:00 +09:00
Alexander Alekhin
b8e08d5d3c ocl: fix Canny for Intel devices
There is an issue with processing of abs(short) function for
negative argument.

Affected OpenCL devices:
- iGPU: Intel(R) HD Graphics 520 (OpenCL 2.0 )
- CPU: Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz (OpenCL 2.0 (Build 10094))
2016-08-09 12:48:06 +03:00
k-shinotsuka
e37c53d13e improve RGB2YCrCb_i<uchar>() 2016-08-09 11:33:00 +09:00
Vadim Pisarevsky
a95d63dab6 Merge pull request #7042 from alalek:update_6967 2016-08-08 15:17:48 +00:00
mschoeneck
5f30a0a076 Merge pull request #6958 from mschoeneck:Common-Canny-parallelization
* Common Canny parallelization added. TBB and single thread code removed. Final pass vectorized with SSE2 intrinsics.

* wrong #ifdef replaced with #if

* Merged to actual Canny version

* Merged common parallelized Canny with actual Canny implementation

* Remove 'Mutex *mutex' and pass 'Mutex mutex' from outside to parallelCanny

* Replaced extern Mutex with intern mutable Mutex.
2016-08-05 17:20:56 +03:00
Alexander Alekhin
b12286329f imgproc: sepFilter: update OpenCL condition
Problem is observed with test_loop_times=100
in corner cases like 93x1 or similar
2016-08-05 12:27:24 +03:00
Alexander Alekhin
2812762d6b imgproc: disable IPP for GaussianBlur in case of ROI 2016-08-05 12:27:18 +03:00
matze
37cccf17c0 imgproc: Prefer OCL calculation before IPP in GaussianBlur. 2016-08-05 12:27:16 +03:00
k-shinotsuka
065d631f0e improve MomentsInTile_SIMD<uchar, int, int>() 2016-08-04 20:08:53 +09:00
Vadim Pisarevsky
b8d743bf50 Merge pull request #6970 from K-Shinotsuka:issue6 2016-08-03 18:50:00 +00:00
k-shinotsuka
5775ace5e0 improve thresh_8u() 2016-08-02 23:35:14 +09:00
Vadim Pisarevsky
3b1803f6b1 Merge pull request #6989 from mself:gftt-deterministic-sort 2016-07-28 15:27:39 +00:00
Vadim Pisarevsky
f96b5652ce Merge pull request #6984 from K-Shinotsuka:issue9 2016-07-28 12:05:13 +00:00
k-shinotsuka
ecfd4ad11e improve MomentsInTile_SIMD<ushort, int, int>() 2016-07-27 20:27:30 +09:00
Matthew Self
72672c293f Make goodFeaturesToTrack() return deterministic results
When using OCL, the results of goodFeaturesToTrack() vary slightly from
run to run. This appears to be because the order of the results from
the findCorners kernel depends on thread execution and the sorting
function that is used at the end to rank the features only enforces are
partial sort order.

This does not materially impact the quality of the results, but it
makes it hard to build regression tests and generally introduces noise
into the system that should be avoided.

An easy fix is to change the sort function to enforce a total sort on
the features, even in cases where the match quality is exactly the same
for two features.
2016-07-25 21:17:54 -07:00
Vadim Pisarevsky
167a4e6592 Merge pull request #6942 from alalek:fix_android_pack 2016-07-21 07:30:15 +00:00
Tomoaki Teshima
57d1591957 imgproc: fix typo
* indent line
2016-07-21 06:42:11 +09:00
Alexander Alekhin
2ec63e4dd1 fix android pack build 2016-07-20 16:49:57 +03:00
Vadim Pisarevsky
cc5c5f7da9 Merge pull request #6795 from tomoaki0705:accelerateBilateralFilterNeon 2016-07-20 13:19:06 +00:00
Tomoaki Teshima
b436f4b995 accelerate bilateralFilter using NEON
* clean up some lines
2016-07-20 08:28:49 +09:00
Alexander Alekhin
575de89ee2 imgproc: Canny: enable IPP & OpenCL optimization code path 2016-07-19 17:15:36 +03:00
Alexander Alekhin
460b1dc2fa imgproc: Canny with custom gradient 2016-07-19 17:15:36 +03:00
Vadim Pisarevsky
34d68edd1a Merge pull request #6924 from K-Shinotsuka:issue3 2016-07-18 18:16:02 +00:00
k-shinotsuka
a25dba001d improve SymmRowSmallVec_8u32s(). 2016-07-18 13:58:11 +09:00
k-shinotsuka
6f8695c178 improve RowVec_8u32s(). 2016-07-17 18:35:34 +09:00
Maksim Shabunin
91d80d0309 Merge pull request #6798 from tomoaki0705:featureSSEvideoAcc 2016-07-15 12:31:18 +00:00
Tomoaki Teshima
3c2f7ecc97 speed up accumulate, accumulateSquare, accumulateProduct and accumulateWeighted using SIMD
* use SSE and/or AVX based on configuration
  * revise the test to verify the implementation
2016-07-15 08:09:24 +09:00
Maksim Shabunin
79f8e516b8 Merge pull request #6891 from snosov1:fix-5311 2016-07-14 11:25:58 +00:00
Maksim Shabunin
4d053405cf Merge pull request #6809 from K-Shinotsuka:master 2016-07-14 09:37:53 +00:00
Alexander Alekhin
9c92f65c0b Merge pull request #6808 from sturkmen72:patch-14 2016-07-13 11:54:11 +00:00
Alexander Alekhin
6c4b634cfe Merge pull request #6814 from tomoaki0705:featureThreshold64fSimd 2016-07-13 11:45:28 +00:00
Tomoaki Teshima
9fca953e62 check the CPU flag correctly 2016-07-13 07:34:49 +09:00
Sergei Nosov
dce310e03c provide better error messages 2016-07-12 18:03:28 +03:00
Ilya Lavrenov
5bc10ef796 fixed empty image condition in resize 2016-07-12 13:23:19 +03:00
Alexander Alekhin
88da03722f Merge pull request #6786 from terfendail:median_fix 2016-07-11 10:02:43 +00:00
Tomoaki Teshima
1095076d7f imgproc: speed up threshold of 64F version using NEON and SSE
* use NEON under aarch64 only
  * check 64F version correctly
2016-07-09 17:05:29 +09:00
Andrey Pavlenko
dcaac98569 Merge pull request #6775 from janstarzy:histo-ipp-fix 2016-07-08 15:15:17 +00:00
Vitaly Tuzov
c61f7e5334 Fix for median blur of 2-channel images 2016-07-08 12:03:28 +03:00
Jan Starzynski
7f896643e9 fix for buffer-overflow in IPPCalcHistInvoker::operator() 2016-07-06 09:54:28 +02:00
Alexander Alekhin
8b05a4bf93 cvtColor: fix inplace processing 2016-07-01 17:09:12 +03:00
Andrey Pavlenko
e4cd24537e Merge pull request #6740 from tomoaki0705:fixNeonCheckSmooth 2016-06-30 15:47:45 +00:00
Tomoaki Teshima
78a5aacb22 make NEON more similart to SSE2 2016-06-29 12:11:10 +09:00
Alexander Alekhin
be38a524a8 Merge pull request #6705 from alalek:fix_hal_imgproc 2016-06-21 16:24:29 +00:00
Alexander Alekhin
2fb670cf09 hal: fix missing include "opencv2/imgproc/hal/interface.h" 2016-06-20 19:25:49 +03:00
k-shinotsuka
43d5988df6 improve to calculate norm 2016-06-05 16:55:02 +09:00
Suleyman TURKMEN
7c5b981c17 Update drawing.cpp 2016-06-05 01:06:55 +03:00
Vladislav Sovrasov
a2d0cc878c Implement internal HAL for GEMM and matrix decompositions 2016-06-03 10:38:30 +03:00
atinfinity
1f1464c925 remove unnecessary cast 2016-05-18 08:32:29 +09:00
atinfinity
e4f207c4b4 Changed cv::threshold() to support CV_64F 2016-05-17 22:56:03 +09:00
Alexander Alekhin
6e5e5d87df Merge pull request #6448 from alalek:merge-2.4 2016-04-25 16:56:51 +00:00
Vadim Pisarevsky
681fd7f214 Merge pull request #6455 from belgraviton:bugfix_5953 2016-04-25 12:50:45 +00:00
Vadim Pisarevsky
f4e00bd60f Merge pull request #6463 from ohnozzy:ocl-linearpolar-and-logpolar 2016-04-25 12:42:40 +00:00
Vadim Pisarevsky
904381c602 Merge pull request #6020 from mshabunin:hal_dxt 2016-04-25 11:37:18 +00:00
ohnozzy
db9f611767 Add OpenCL support to linearPolar & logPolar
Add OpenCL  support to linearPolar & logPolar.
The OpenCL code use float instead of double, so that it does not require
cl_khr_fp64 extension, with slight precision lost.

Add explicit conversion

Add explicit conversion from double to float to eliminate warning during
compilation.
2016-04-24 08:37:56 +08:00
Vadzim Piatrou
43f854bc5f fixing CLAHE crash with pixels value > 12 bit 2016-04-22 18:55:22 +03:00
Alexander Alekhin
67a734ce73 Merge branch '2.4' into master
Commits:
67fe57a add fixed video
db0ae2c Restore 2.4 source branch for bug fix 6317.
97ac59c Fix a memory leak indirectly caused by cvDestroyWindow
eb40afa Add a workaround for FFmpeg's color conversion accessing past the end of the buffer
421fcf9 Rearrange CvVideoWriter_FFMPEG::writeFrame for better readability
912592d Remove "INSTALL_NAME_DIR lib" target property
bb1c2d7 fix bug on border at pyrUp
2016-04-21 20:15:08 +03:00
Thomas Schenker
76ced14b3b fix typo 2016-04-19 15:09:27 +02:00
Maksim Shabunin
5e9192287d Added HAL cvtColor interface 2016-04-18 16:34:25 +03:00
ohnozzy
9be6b4f2d1 Bug Fix for 6377
Rewrite linearPolar & logPolar so that they do not depend on the
deprecated API CvMat. Issue 6377 is resolved in this way because the two
routines do not convert UMat to CvMat anymore.
2016-04-14 19:39:02 +08:00
Maksim Shabunin
233612efd7 Reworked HAL dft/dct interface, added replacement documentation 2016-04-08 16:03:51 +03:00
Maksim Shabunin
f40d701427 DFT: renamed HAL functions 2016-04-08 11:19:28 +03:00
Maksim Shabunin
15783cf668 Always use hal::dft in crossCorr function 2016-04-08 11:19:28 +03:00
Maksim Shabunin
008abd28fd Extracted HAL interfaces for DFT/DCT, added new test 2016-04-08 11:19:28 +03:00
Maksim Shabunin
5877debb6f HAL resize, warpAffine, warpPerspective interface
- added HAL documentation support
- added documentation to HAL replacement interface
- updated several HAL functions in imgproc module
2016-04-07 18:47:24 +03:00
themightyoarfish
68d97502fe Error message for wrong kernel size was insufficient.
When setting a wrong kernel size, the error message only tells the user that it
must be odd, however the conditions for rejection include values > 7 which must
be communicated. Without that, the message would be incorrect and confusing if
the user is unaware that only values 3, 5, 7 are accepted.
2016-03-28 14:06:55 +02:00
Vadim Pisarevsky
e792ee89de Merge pull request #6243 from mshabunin:hal_morph 2016-03-23 13:09:19 +00:00
Maksim Shabunin
3b6190dfad Merge pull request #6150 from lvv:fix-6149-applColorMap 2016-03-21 09:20:52 +00:00
Maksim Shabunin
83379695a0 HAL interface for morphology operations 2016-03-21 09:32:06 +03:00
Leonid Volnitsky
bebab8d647 fix: 6149 (through CV_Error on wrong image type) 2016-03-19 19:57:05 +02:00
Zhigang Gong
0b08d2559e fix potential race condition in canny.cl.
See the below code snippet:

while(l_counter != 0)
{
    int mod = l_counter % LOCAL_TOTAL;
    int pix_per_thr = l_counter / LOCAL_TOTAL + ((lid < mod) ? 1 : 0);

    for (int i = 0; i < pix_per_thr; ++i)
    {
        int index = atomic_dec(&l_counter) - 1;
        ....
    }
    ....
    barrier(CLK_LOCAL_MEM_FENCE);
}

If we don't put a barrier before the for loop, then there is a possiblity
that some work item enter this loop but the others are not, the the l_counter
will be reduced in the for loop and may be changed to zero, and the other
work items may can't enter the while loop. If this happens, it breaks the
barrier's rule which requires all the work items reach the same barrier.
And it may hang the GPU depends on the implementation of opencl platform.

This issue is raised at:
https://github.com/Itseez/opencv/issues/5175

Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
2016-03-15 19:11:15 +08:00
Vadim Pisarevsky
c186f424c5 Merge pull request #6119 from mshabunin:hal_filter2d 2016-03-12 17:08:10 +00:00
Alexander Alekhin
ec66a3700f logPolar/linearPolar: more accurate processing near zero angle slice 2016-03-03 19:08:08 +03:00
Maksim Shabunin
98fff4a601 Added separate hal::SepFilter2D class 2016-03-03 18:56:12 +03:00
Maksim Shabunin
17cd1dac06 HAL Filter2D interface: Updated according to comments 2016-03-03 18:56:12 +03:00
Maksim Shabunin
85b2c2ae58 Fixed build with older standalone IPP versions 2016-03-03 18:56:12 +03:00
Maksim Shabunin
8414c6518f Fixed build with older ippicv 2016-03-03 18:56:12 +03:00
Maksim Shabunin
27abd4d3a3 Filter2D HAL interface 2016-03-03 18:56:12 +03:00
Alexander Alekhin
275bfcf99c fix logPolar/linearPolar 2016-03-03 18:33:11 +03:00
Elena Gvozdeva
bb1c2d71a8 fix bug on border at pyrUp 2016-01-20 13:07:07 +03:00
Vitaly Tuzov
4f5d585184 Update call to Tegra optimized morphology filtering 2016-01-15 11:48:29 +03:00
Alexander Alekhin
7a62a8213b Merge pull request #5914 from LaurentBerger:I5908 2016-01-11 13:00:17 +00:00
LaurentBerger
8531e6d9fc May be it can solve issue 5908 2016-01-02 21:06:51 +01:00
berak
2d1cb14e61 fix cv::MARKER_TRIANGLE_UP 2016-01-01 10:10:01 +01:00
Maksim Shabunin
84f37d352f HAL moved back to core 2015-12-17 12:33:23 +03:00
Vadim Pisarevsky
f93a4dfbc9 Merge pull request #5799 from alalek:fix_5066 2015-12-15 10:24:39 +00:00
Alexander Alekhin
1305962af7 fixes #5066: laplacian: "y" may contain negative values 2015-12-14 18:13:57 +03:00
Thomas Dunker
6882c10b45 Extension of the camera distortion model for tilted image sensors (Scheimpflug condition) including test 2015-12-14 15:20:34 +01:00
Vadim Pisarevsky
8e67f0ba84 Merge pull request #5774 from mshabunin:coverity_fixes 2015-12-09 13:32:44 +00:00
Vadim Pisarevsky
35d4f998fd Merge pull request #5748 from songyuncen:fix#5745 2015-12-09 12:17:41 +00:00
Maksim Shabunin
715887fcd5 Coverity: fixed some negative argument issues 2015-12-09 14:25:08 +03:00
songyuncen
9d8118dee5 build failed, trailing whitespace. 2015-12-09 08:00:42 +08:00
songyuncen
e0b7389dc3 remove compile warnings in shapedescr.cpp 2015-12-08 22:23:23 +08:00
songyuncen
a69eeb6b1f change the algorithm of minimum enclosing circle with EMO Welzl's method 2015-12-08 21:38:59 +08:00
Vadim Pisarevsky
f95203e93f Merge pull request #5759 from grundman:patch-1 2015-12-08 10:33:54 +00:00
Maksim Shabunin
387935e94c Merge pull request #5756 from mshabunin:smooth_neon_fix 2015-12-08 08:59:58 +00:00
Maksim Shabunin
878ec080c7 Merge pull request #3540 from AlexanderUsentsov:good_feature 2015-12-08 08:02:28 +00:00
Florent
056a111788 Fixed histogram substraction bug with NEON instructions (arguments in wrong order). 2015-12-08 09:48:17 +03:00
grundman
2f0a598ac8 Update imgwarp.cpp
github editor does not show white space and inserts one for you ... great combination
2015-12-07 11:48:45 -08:00
grundman
5772cb52e3 Update imgwarp.cpp
Check for identity resize => use copy instead (1.37 ms -> 0.07 ms on 720p)
2015-12-07 11:25:39 -08:00
ausentso
9abdf39c90 added test for goodFeaturesToTrack; 2015-12-07 15:24:38 +03:00
songyuncen
b81598bc03 try to fix : enclosing circle always larger than 1.0
issue #5745
2015-12-05 10:57:29 +08:00
Maksim Shabunin
b4bcdd10a1 HAL: improvements
- added new functions from core module: split, merge, add, sub, mul, div, ...
- added function replacement mechanism
- added example of HAL replacement library
2015-12-03 14:43:37 +03:00
Pavel Vlasov
2b27f7dbb3 Fixed warnings for IPP9+ build; 2015-12-01 16:10:29 +03:00
Pavel Vlasov
7375383d26 Canny IPP Sobel getBufferSize wrong func fix; 2015-11-23 14:31:22 +03:00
Pavel Vlasov
9acf93b7c6 IPP Sobel getBufferSize wrong func fix; 2015-11-19 18:38:47 +03:00
Jan Starzynski
2799829bc9 fix potential buffer overflow as in 3.0 2015-11-11 16:19:20 +01:00
Lorena García
252feb4774 Hit and Miss morphological op 2015-11-03 19:42:22 +01:00
Vadim Pisarevsky
979f88f6db Merge pull request #5518 from Bovaz:master 2015-11-02 15:58:58 +00:00
Vadim Pisarevsky
67ef84d883 Merge pull request #5386 from StevenPuttemans:add_markers 2015-11-02 15:45:38 +00:00
Vadim Pisarevsky
3c31d6add3 Merge pull request #5515 from LorenaGdL:hitAndMiss 2015-11-02 11:49:37 +00:00
Vadim Pisarevsky
b2f6aedec9 Merge pull request #5587 from lupustr3:pvlasov/ipp_cond_update 2015-11-02 11:38:02 +00:00
Vadim Pisarevsky
00f222a9b4 Merge pull request #5598 from ajbernal:ocl_bilateral_bugfix 2015-11-02 11:22:25 +00:00
Ariel Bernal
cc903d0605 Fix for #5590. OpenCL BilateralFilter implementation failes to
build for some OCL drivers.
Some OCL vendors treat implicit scalar-vector conversions for
operators as errors when type conversion is required.
2015-10-30 09:39:11 -07:00
Pavel Vlasov
5ae3693567 Condition update for 8u IPP in GaussianBlur. Bug was fixed in 9.0.1; 2015-10-29 13:21:13 +03:00
Lorena García
7cff60f4f6 Changed src matrix complement computation 2015-10-24 00:33:36 +02:00
Lorena García
fb03330ea3 Fixed CV_Assert 2015-10-24 00:22:50 +02:00
Rodrigo Benenson
0ef7387298 mush -> must
fixed typo
2015-10-22 23:27:55 +02:00
Maksim Shabunin
6e9d0d9a0c Visual Studio 2015 warning and test fixes 2015-10-20 12:48:37 +03:00
Bovaz
7be3d3ab2c sqrtf to std::sqrt 2015-10-14 18:57:33 -07:00
Matteo Piovanelli
216baf5b11 Speedup of arcLength
By my tests, this version of cv::arcLength is almost 10% faster than the
one using a buffer it replaces.
2015-10-14 13:37:48 -07:00
Lorena García
33f77774c5 Hit&Miss morphological operation 2015-10-14 14:01:53 +02:00
Alexander Alekhin
d8c352d20d Merge pull request #5504 from aman11dhanpat:master 2015-10-14 09:10:30 +00:00
Pavel Vlasov
40b2dfae09 Fix for filter2D and IPP < 900 2015-10-13 14:10:32 +03:00
Aman Verma
411be4fde8 Fix for #5481, removing repeated/useless assignment in contours.cpp 2015-10-12 16:16:27 +00:00
Pavel Vlasov
89eee6ca99 Fixes for IPP integration:
dotProd_16s - disabled for IPP 9.0.0;
filter2D - fixed kernel preparation;
morphology - conditions fix and disabled FilterMin and FilterMax for IPP 9.0.0;
GaussianBlur - disabled for CV_8UC1 due to buffer overflow;
integral - disabled for IPP 9.0.0;

IppAutoBuffer class was added;
2015-10-12 10:51:28 +03:00
Alexander Alekhin
706b8a6266 Merge pull request #5459 from aman11dhanpat:master 2015-10-06 17:12:03 +00:00
berak
f2decec3e8 fix zero length std::string in putText() 2015-10-06 17:07:40 +02:00
Aman Verma
dff7037156 Adding fix for issue 5451 "putText fails with empty std::string" 2015-10-06 14:23:27 +00:00
StevenPuttemans
587dca9b1c adding markers to OpenCV 2015-10-02 08:48:15 +02:00
Pavel Vlasov
e837d69f8f IPPInitSingelton was added to contain IPP related global variables;
OPENCV_IPP env var now allows to select IPP architecture level for IPP9+;
IPP initialization logic was unified across modules;
2015-10-01 09:58:48 +03:00
Pavel Vlasov
62854dcc0d Enables support of IPP 9.0.0;
HAVE_IPP_ICV_ONLY will be undefined if OpenCV was linked against ICV packet from IPP9 or greater. ICV9+ packets will be aligned with IPP in OpenCV APIs
This will ease code management between IPP and ICV
2015-09-29 17:27:13 +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
Pavel Vlasov
2177c7c5a8 Some IPP functions were encapsulated;
Minor changes to IPP implementations;
2015-09-25 17:30:26 +03:00
Alexander Alekhin
af0942c78f Merge pull request #5335 from Dikay900:ports_to_master 2015-09-18 11:06:08 +00:00
Ilya Lavrenov
11981c31f0 fixed valgrind warning in polylines 2015-09-11 18:45:01 +02:00
Tsukasa Sugiura
cd13b30fde Fix LineAA in case of 4 channel
Fix bug when enter 4 channel image to LineAA function.
2015-09-12 01:42:25 +09:00
Roman Donchenko
e1be6d0888 Refactor a section of icvRotatingCalipers to work around a GCC bug
https://bugs.launchpad.net/ubuntu/+source/gcc-4.9/+bug/1474304
2015-09-11 18:34:16 +02:00
Suleyman TURKMEN
3f3e6ba739 Update min_enclosing_triangle.cpp 2015-09-11 16:41:22 +03:00
Suleyman TURKMEN
c63f443bba Update drawing.cpp
https://github.com/Itseez/opencv/issues/4791
2015-09-07 11:30:14 +03:00
Maksim Shabunin
771af4f32d Some changes to support mingw-w64
- IPP is disabled by default when compiler is mingw (couldn't make it
work)
- fixed some warnings
- fixed some `__GNUC__` version checks (for correctness and convenience)
- removed UTF-8 BOM from hough.cpp (fixes #5253)
2015-09-01 00:59:08 +03:00
Wenju He
67ca143a0b fix adaptiveThreshold mean 2015-08-06 10:23:31 +08:00
Vadim Pisarevsky
4a2aad5bba Merge pull request #4149 from LaurentBerger:ThreshGaussianFloat 2015-08-05 17:25:01 +00:00
Alexander Alekhin
4eef486afe tapi: datarace fixup for cvtColor 2015-07-28 11:49:46 +03:00
Josh Klontz
beed99dbc1 fixed conditional compilation of RGB2Gray<ushort> template specialization 2015-07-14 20:56:43 -04:00
Roman Donchenko
9e50cf5375 Refactor a section of icvRotatingCalipers to work around a GCC bug
https://bugs.launchpad.net/ubuntu/+source/gcc-4.9/+bug/1474304
2015-07-14 13:26:47 +03:00
Vadim Pisarevsky
426b3f6198 Merge pull request #4139 from swook:spatial_gradient 2015-07-01 10:22:36 +00:00
Seon-Wook Park
20bf88bad1 spatialGradient: Make kern args const& 2015-07-01 09:34:27 +09:00
Seon-Wook Park
90c398ea67 spatialGradient: Add CV_SSE2 check 2015-07-01 00:42:08 +09:00
Seon-Wook Park
ed38ca5179 spatialGradient: Remove 4 loads in inner loop 2015-06-30 16:08:15 +09:00
Seon-Wook Park
5dddb47863 spatialGradient: Remove pointers caching 2015-06-30 10:51:10 +09:00
Seon-Wook Park
cf0fdfa2bb spatialGradient: Change ordering of vector loads 2015-06-29 23:50:05 +09:00
Seon-Wook Park
658f96b447 spatialGradient: L/R border handling outside. Kernelize. 2015-06-29 23:12:33 +09:00
Seon-Wook Park
15ea401087 spatialGradient: Move vector decl into loop 2015-06-27 10:01:47 +02:00
Seon-Wook Park
db0cc56c52 spatialGradient: Re-introduce 2-rows at a time 2015-06-27 09:53:42 +02:00
Seon-Wook Park
f958f29c55 spatialGradient: Suppress uninitialised j warnings 2015-06-27 01:03:43 +02:00
Seon-Wook Park
62cad09c64 spatialGradient: Process 1 row at a time in SSE 2015-06-26 17:35:17 +02:00
Seon-Wook Park
8a21726ae5 spatialGradient: Remove an unnecessary branch in nosse code 2015-06-26 17:26:21 +02:00
Seon-Wook Park
febd0f14c6 spatialGradient: Don't dynamically alloc C array, use vector 2015-06-26 17:15:44 +02:00
Seon-Wook Park
f92e2ed57a spatialGradient: Make nosse version faster 2015-06-26 17:13:23 +02: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
LaurentBerger
ca0114228c In adaptiveThreshold ADAPTIVE_THRES_GAUSSIAN_C gaussianBlur is computed using float
number
2015-06-25 07:51:06 +02:00
Vadim Pisarevsky
56e637d5f4 Merge pull request #4135 from lupustr3:ipp_code_refactoring 2015-06-24 16:18:55 +00:00
Pavel Vlasov
e02195b3dc Accidentally removed tegra checks were returned; 2015-06-24 14:55:45 +03:00
Pavel Vlasov
101607a7d0 Imgproc_Hist_MinMaxVal.accuracy fix;
Some code style corrections;
2015-06-24 13:50:17 +03:00
LaurentBerger
56b2b450ce A new constant in adaptivethreshold is created to calculate
gaussianBlur with CV_32F. hence rouding error are avoided
2015-06-22 22:21:30 +02:00
Seon-Wook Park
2ff614dfab spatialGradient: Per row in outer loop 2015-06-19 19:25:07 +02:00
Seon-Wook Park
815cd8970d spatialGradient: Remove unnecessary index calculation 2015-06-19 04:46:17 +02:00
Seon-Wook Park
f9c4c96663 spatialGradient: Reduce temporary vectors 2015-06-19 04:29:07 +02:00
Seon-Wook Park
a2dbd2f10e spatialGradient: Less vector loads 2015-06-19 04:07:18 +02:00
Seon-Wook Park
88bc88125a spatialGradient: Vectorise inner area 2015-06-19 03:36:49 +02:00
Seon-Wook Park
770e742e04 spatialGradient: Add non-SSE version 2015-06-19 02:56:51 +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
Dmitry Budnikov
a5a21019b2 ipp_countNonZero build fix;
Removed IPP port for tiny arithm.cpp functions

Additional warnings fix on various platforms.

Build without OPENCL and GCC warnings fixed

Fixed warnings, trailing spaces and removed unused secure_cpy.

IPP code refactored.

IPP code path  implemented as separate static functions to simplify future work with IPP code and make it more readable.
2015-06-18 12:47:07 +03:00
René
3e2515d735 Fix bug in distanceATS_L1_8u and typos.
The inner loop of the backward scan got the wrong initial "a".
2015-06-09 17:23:22 +02:00
Vadim Pisarevsky
b46719b093 Merge pull request #4074 from vpisarev:objdetect_fixes 2015-05-28 19:43:51 +00:00
Vadim Pisarevsky
5a94a95fbf improvements in Haar CascadeClassifier: 1) use CV_32S instead of CV_32F for the integral of squares (which is more accurate and more efficient); 2) skip the window if its contrast is too low 2015-05-28 19:33:21 +03:00
S. Garrido
bd2c2f3bd1 fix isContourConvex 2015-05-27 20:51:53 +02:00
Zhigang Gong
0f7de40e66 Fixed the race condition between inc and dec on the l_counter.
Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
2015-05-26 22:06:18 +08:00
Zhigang Gong
3c85200989 Avoid negative index for a local buffer in Canny.cl.
int pix_per_thr = l_counter / LOCAL_TOTAL + ((lid < mod) ? 1 : 0);
The pix_per_thr * LOCAL_TOTAL may be larger than l_counter.
Thus the index of l_stack may be negative which may cause serious
problems. Let's skip the loop when we get negative index and we need
to add back the lcounter to keep its balance and avoid potential
negative counter.

Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
2015-05-26 08:48:05 +08:00
Andreas Stührk
3ec0e0943c TIFF loader: Allocate large enough buffer when (bpp * ncn) > 8.
Conflicts:
	modules/highgui/src/grfmt_tiff.cpp

floodfill return value removed
2015-05-24 14:06:33 +02:00
Alexander Smorkalov
6e1a595342 GCC 4.8 warning array subscript is above array bounds fixed.
tiff test fixed
2015-05-24 13:31:01 +02:00
Dikay900
7ca0557b40 typos in comments 2015-05-23 17:36:45 +02:00
Vadim Pisarevsky
e0136e39f4 Merge pull request #4011 from cr333:parula 2015-05-16 19:11:32 +00:00
Vadim Pisarevsky
a85bb091c8 Merge pull request #4018 from vpisarev:imgproc_video_fixes 2015-05-15 16:15:01 +00:00
Vadim Pisarevsky
ca90667723 fixed compile warnings on Linux and Windows 2015-05-14 16:42:51 +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
71002e0e79 some fixes from http://code.opencv.org/issues/3733 2015-05-13 22:00:02 +03:00
Marek Nogacki
25bcca2edb fixed http://code.opencv.org/issues/4276 - set drawing thickness limit to 32767 2015-05-13 18:54:25 +02:00
Christian Richardt
6425ac3b13 Added color map similar to Matlab's new default color map 'parula'. 2015-05-13 17:34:14 +02:00
Marek Nogacki
d59a6b29d5 fixed http://code.opencv.org/issues/4276 - removed drawing thickness upper limit 2015-05-07 11:19:22 +02:00
Vadim Pisarevsky
e60dcc9b3b Merge pull request #3966 from Dikay900:master_diff_to_2_4_2 2015-04-28 11:00:57 +00:00
Mansour Moufid
b99f7a29df Cast some image coordinates and sizes to double.
Conflicts:
	modules/gpu/perf/perf_imgproc.cpp

Cast a long integer to double explicitly.

Conflicts:
	modules/python/src2/cv2.cpp

Cast some matrix sizes to type int.

Change some vector mask types to unsigned.

Conflicts:
	modules/core/src/arithm.cpp
2015-04-25 18:54:53 +02:00
Andrey Pavlenko
d2409d12c6 porting polylines with empty vector<Point> from 2.4 to master 2015-04-24 17:11:51 +03:00
Vadim Pisarevsky
882dc0a7f6 Merge pull request #3950 from paroj:fix-gftt_ocl 2015-04-22 19:08:15 +00:00
Pavel Rojtberg
1ea41e7246 fix gftt opencv kernel when using mask 2015-04-22 16:13:50 +02:00
Vadim Pisarevsky
415a212d09 Merge pull request #3936 from dhood:fitEllipse-bug 2015-04-22 11:22:35 +00:00
Vadim Pisarevsky
4c875dc393 Merge pull request #3932 from nisargthakkar:Bug4243 2015-04-21 12:18:37 +00:00
Deanna Hood
37f77e7397 Change condition on parallel ellipse case so can only calculate t if necessary 2015-04-18 13:51:32 -04:00
Deanna Hood
103336c76e Fix Bug #3989: correctly identify ellipse with its axes parallel to x-y axes during semi-major axis calculation 2015-04-16 11:59:05 -04:00
Ahmatnurov Dinar
2358c79db2 move 3265 to 3.0; 2015-04-16 14:36:46 +03:00
Nisarg Thakkar
00094a8792 Fix for Bug4243. Made changes relating to non OpenCL devices 2015-04-16 00:22:08 +05:30
Nisarg Thakkar
a0bc0ab7cb Fix for Bug4243 2015-04-15 23:49:01 +05:30
Vadim Pisarevsky
b91313a84e initialize the output flow in EMD (thanks to Daniel DeMenthon for the bug report) 2015-03-26 16:26:41 +03:00
Dmitry-Me
6318409a5d Reduce variable scope 2015-03-25 10:35:11 +03:00
Scott Graybill
3d2c0ed97f Removed check on limits. A common use of HoughLines would be to restrict theta to be between a small negative number and a small positive number, e.g. -pi/16 to pi/16. This wasn't possible with the previous checks. 2015-03-13 17:04:13 -07:00
Dmitry-Me
135701feac Double used as boolean for no reason 2015-03-06 17:04:54 +03: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
Vadim Pisarevsky
e4bc592c46 Merge pull request #3583 from oresths:tbb_canny 2015-03-04 10:49:27 +00:00
Vladislav Vinogradov
cda6fed41f move tegra namespace out of cv to prevent conflicts 2015-02-27 12:52:11 +03:00
Vladislav Vinogradov
44e41baffe use new functions before all tegra:: calls 2015-02-26 19:34:58 +03:00
Mansour Moufid
35a89b1541 Change some vector mask types to unsigned. 2015-02-23 23:10:57 -05:00
Nisarg Thakkar
b8f65d0252 Same as Bug #3309. Pushing to master 2015-02-21 09:20:00 +05:30
Maksim Shabunin
da383e65e2 Remove deprecated methods from cv::Algorithm 2015-02-16 15:28:54 +03:00
sergei
0d72420480 HAVE_TEGRA_OPTIMIZATION was fixed 2015-01-30 11:57:35 +03:00
Vadim Pisarevsky
9c81338cb9 Merge pull request #3505 from karelknoest:lsd_subpixel 2015-01-22 09:44:29 +00:00
Vadim Pisarevsky
03fc3d1ceb Merge pull request #3591 from ilya-lavrenov:sse_avx 2015-01-21 10:46:23 +00:00
Ilya Lavrenov
e9a6c5db21 sqsum 2015-01-20 21:10:06 +03:00
karelknoest
b5bd2fd880 Improved documentation and method comment to clarify that LineSegmentDetector::detect method accepts both Vec4i and Vec4f as return vector. 2015-01-20 17:05:57 +01: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
Vadim Pisarevsky
21a9a17478 Merge pull request #3568 from ilya-lavrenov:neon_runtime 2015-01-20 12:47:51 +00:00
Vadim Pisarevsky
5cc4aa0e93 Merge pull request #3554 from wangyan42164:match_template_mask 2015-01-19 11:03:44 +00:00
Vadim Pisarevsky
b6023eab9c Merge pull request #3594 from asmorkalov:opencv4tegra_support 2015-01-19 10:47:49 +00:00
Yan Wang
46ed461e22 Add template match with mask.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-01-16 11:09:26 +08:00
Ilya Lavrenov
81f786393a NEON detection in runtime 2015-01-13 01:35:53 +03:00
Alexander Smorkalov
1fa37fe733 OpenCV for Tegra compilation fix for
- Gaussian blur;
- CascadeClassifier;
- Blenders in stitching module;
- Laplacial pyromids in stitching module.
2015-01-12 23:43:26 +03:00
Ilya Lavrenov
33176db5dc compareHist 2015-01-12 10:59:31 +03:00
Ilya Lavrenov
6bce6ee34a checks 2015-01-12 10:59:31 +03:00
Ilya Lavrenov
3b23e57925 convertMaps 2015-01-12 10:59:31 +03:00
Ilya Lavrenov
0fd8f50522 warpAffine INTER_NEAREST 2015-01-12 10:59:31 +03:00
Ilya Lavrenov
d92f67ee2c warpPerspective 2015-01-12 10:59:31 +03:00
Ilya Lavrenov
7b060d9122 cvtColor 4 cn 2015-01-12 10:59:30 +03:00
Ilya Lavrenov
f2cd65cf1e fixes 2015-01-12 10:59:30 +03:00
Ilya Lavrenov
25e99c453f avx2 in arithm 2015-01-12 10:59:30 +03:00
Ilya Lavrenov
612b8ce2cb fixed compilation issues 2015-01-12 10:59:30 +03:00
Ilya Lavrenov
b2f851af06 cornerMinEigenVal 2015-01-12 10:59:30 +03:00
Ilya Lavrenov
d87457a025 split/merge 2015-01-12 10:59:30 +03:00
Ilya Lavrenov
fc0869735d used popcnt 2015-01-12 10:59:30 +03:00
Ilya Lavrenov
31827d8dfe fixed typo 2015-01-12 10:59:30 +03:00
Ilya Lavrenov
3a426660ea sse_utils.hpp 2015-01-12 10:59:30 +03:00
Ilya Lavrenov
a340ea872e cvtColor Luv 2 RGB u8 2015-01-12 10:59:30 +03:00
Ilya Lavrenov
e20613a776 cvtColor RGB 2 Luv u8 2015-01-12 10:59:30 +03:00
Ilya Lavrenov
584eed633e cvtColor Lab 2 RGB u8 2015-01-12 10:59:30 +03:00
Ilya Lavrenov
05e21015e9 cvtColor HLS 2 RGB u8 2015-01-12 10:59:30 +03:00
Ilya Lavrenov
51684c109e cvtColor RGB 2 HLS u8 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
51e7fb76b6 cvtColor HSV 2 RGB u8 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
c4c86a8990 cvtColor XYZ 2 RGB f32 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
93f8800844 cvtColor RGB 2 XYZ f32 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
e1773749ae cvtColor RGB 2 gray 16s 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
1c9e886a6a cvtColor YCrCb 2 RGB 32f 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
97fad1cb53 cvtColor RGB 2 YCrCb 32f 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
b99396ab12 cvtColor RGB 2 YCrCb 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
940f1e7914 interliving / deinterliving 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
fe371bf624 cvtColor Gray 2 BGR5x5 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
9cacd3261d cvtColor BGR5x5 2 Gray 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
edee922b59 cvtColor YCrCb 2 RGB 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
5f2135695e cvtColor rgb 2 YCrCb 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
bfb45b27e6 column sum 32s 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
1ca35b7424 resize are fast 2015-01-12 10:59:29 +03:00
Ilya Lavrenov
56f3c92737 pyrUp and pyrDown 2015-01-12 10:59:29 +03:00
Timur Sattarov
4762728fd5 More sensible error messages 2015-01-11 03:56:07 +04:00
orestis
c7b2e48efe Canny TBB Optimization 2015-01-07 19:54:20 +02:00
Vadim Pisarevsky
c937e15763 Merge pull request #3555 from ilya-lavrenov:sse_integral 2014-12-31 09:13:18 +00:00
Vadim Pisarevsky
2bddbd2cb5 Merge pull request #3558 from ilya-lavrenov:sse_resize 2014-12-31 08:04:00 +00:00
Vadim Pisarevsky
ba8a971742 Merge pull request #3551 from serval2412:master 2014-12-31 06:09:29 +00:00
Vadim Pisarevsky
622cf566b9 Merge pull request #3560 from ilya-lavrenov:sse_remap 2014-12-31 06:07:02 +00:00
Ilya Lavrenov
02b2fdeda9 SSE resize Lanczos 2014-12-30 10:41:23 +03:00
Ilya Lavrenov
042895977e SSE2 conversio in remap 2014-12-30 01:00:22 +03:00
Ilya Lavrenov
9436103ed6 SSE2 optimization of cv::integral 2014-12-29 15:51:55 +03:00
Julien Nabet
2d5e3b57ea Fix cppcheck reports warnings:
(performance) Possible inefficient checking for 'lmap' emptiness
(warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
(style) Array index '<xxx>' is used before limits check
2014-12-27 10:54:34 +01:00
Vadim Pisarevsky
61991a3330 Merge pull request #3444 from Sync-my-L2P:patch-1 2014-12-26 14:40:29 +00:00
Vadim Pisarevsky
5d15676b7b Merge pull request #3532 from oresths:filter_neon 2014-12-24 09:02:24 +00:00
orestis
9c6da03504 SymmRowSmallVec_32f 1x5 asymm
NEON speedup: 2.31x
Auto-vect speedup: 2.26x

Test kernel: [-0.9432, -1.1528, 0, 1.1528, 0.9432]
2014-12-19 22:51:42 +02:00
orestis
13c0855114 SymmRowSmallVec_32f 1x5
NEON speedup: 2.36x
Auto-vect speedup: 2.36x

Test kernel: [0.1, 0.2408, 0.3184, 0.2408, 0.1]
2014-12-19 22:47:06 +02:00
orestis
ed0ce48179 SymmColumnVec_32f16s asymm
NEON speedup: 9.46x
Auto-vect speedup: 1x

Test kernel: [-0.9432, -1.1528, 0, 1.1528, 0.9432]
2014-12-19 22:44:39 +02:00
orestis
a2a131799f SymmColumnVec_32f16s
NEON speedup: 8.64x
Auto-vect speedup: 1x

Test kernel: [0.1, 0.2408, 0.3184, 0.2408, 0.1]
2014-12-19 22:42:31 +02:00
orestis
37e018454d SymmColumnSmallVec_32s16s 3x1 asymm
NEON speedup: 2.12x
Auto-vect speedup: 1.01x

Test kernel: [-2, 0, 2]
2014-12-19 22:40:55 +02:00
orestis
4443d6b0a1 SymmColumnSmallVec_32s16s [-1, 0, 1]
NEON speedup: 3.27x
Auto-vect speedup: 1.01x
2014-12-19 22:37:52 +02:00
orestis
99e782e62c SymmColumnSmallVec_32s16s 3x1
NEON speedup: 1.75x
Auto-vect speedup: 1x
2014-12-19 22:36:46 +02:00
orestis
33dfeb85be SymmColumnSmallVec_32s16s [3, 10, 3] Scharr
NEON speedup: 2.04x
Auto-vect speedup: 1x
2014-12-19 22:35:52 +02:00
orestis
61a7f48bf4 SymmColumnSmallVec_32s16s [1, -2, 1]
NEON speedup: 2.75x
Auto-vect speedup: 1.01x
2014-12-19 22:34:11 +02:00
orestis
4f906372e2 SymmColumnSmallVec_32s16s [1, 2, 1]
NEON speedup: 2.66x
Auto-vect speedup: 1x
2014-12-19 22:33:11 +02:00
orestis
80a0364465 SymmColumnVec_32s8u asymm
NEON speedup: 2.95x
Auto-vect speedup: 1x

Test kernel: [-0.9432, -1.1528, 0, 1.1528, 0.9432]
2014-12-19 22:29:54 +02:00
orestis
4f5916f12d SymmColumnVec_32s8u
NEON speedup: 1.96x
Auto-vect speedup: 1x

Test kernel: [0.0708, 0.2445, 0.3694, 0.2445, 0.0708]
2014-12-19 22:26:41 +02:00
orestis
1fb966dc61 SymmRowSmallVec_8u32s 1x5 asymm
NEON speedup: 3.14x
Auto-vect speedup: 1.6x

Test kernel: [-5, -2, 0, 2, 5]
2014-12-19 22:23:09 +02:00
orestis
2e7b9a2c0f SymmRowSmallVec_8u32s 1x3 asymmetric
NEON speedup: 1.95x
Auto-vect speedup: 1.17x

Test kernel: [-2, 0, 2]
2014-12-19 22:15:37 +02:00
orestis
969a218057 SymmRowSmallVec_8u32s [-1, 0, 1]
NEON speedup: 1.84x
Auto-vect speedup: 1.2x
2014-12-19 22:11:52 +02:00
orestis
c0019a42e4 SymmRowSmallVec_8u32s 1x5 general
NEON speedup: 3.86x
Auto-vect speedup: 1.67x

Test kernel: [0.0708, 0.2445, 0.3694, 0.2445, 0.0708]
2014-12-19 22:10:58 +02:00
orestis
cb48d7798d SymmRowSmallVec_8u32s 1x3 general
NEON speedup: 2.56x
Auto-vect speedup: 1.26x

Test kernel: [1, 3, 1]
2014-12-19 22:08:23 +02:00
orestis
0ba3b06efd SymmRowSmallVec_8u32s [1, 2, 1]
NEON speedup: 4.1
Auto-vect speedup: 2.25
2014-12-19 22:02:57 +02:00
Sync-my-L2P
5a43c7a28e Update segmentation.cpp
removed trailing whitespaces
2014-12-11 17:36:36 +01:00
orestis
c762da9893 Fix SymmColumnSmallVec_32s16s SSE code
Specifically, in general antisymmetric case src[-1] (S0) should be
subtracted from from src[1] (S2), and not the opposite.
2014-12-06 19:53:07 +02:00
Vadim Pisarevsky
be5c910358 Merge pull request #3443 from HelenWong:bug3363Fix 2014-12-02 09:14:36 +00:00
Artur Wieczorek
41afe54696 Fix determining bounding box of the edge collection in FillEdgeCollection().
There is necessary to account also x-coordinate of the end of the edge when determining bounding box of the edge collection.
2014-12-01 14:30:05 +01:00
HelenWong
e88bf2bc30 Updated Documentation (HoughCircles)
Rewrite the note on HoughCircles documentation to make it more clear

Add note to clarify that the output vector of found circles is sorted by
descending order of centres accumulator values.

Also delete reductant lines on the HoughCircles documentation.

Added comments to hough circles function.

Added comments to icvhoughgradient

Misalignment in line 1183 corrected
2014-11-26 11:37:33 -08:00
Yan Wang
6e7050555e Optimize pyrUp_unrolled() by mad function.
It could improve performance when image size is large.
E.g. OCL_PyrUpFixture_PyrUp.PyrUp/18
2014-11-26 16:55:08 +08:00
Sync-my-L2P
f14b8b4341 Update segmentation.cpp
Added detailed comments to watershed()
2014-11-25 16:25:56 +01:00
orestis
a7757b0eb6 Fix anchor for small symmetrical column filters.
In the unoptimized version of small symmetrical column filters, when we
try to detect if the kernel, ky, is equal to [1;2;1] or [1;-2;1] we
should take into consideration that the anchor points in the middle
element.
2014-11-19 23:12:58 +02:00
Yan Wang
184b6e314c Fix canny segment fault (Bug #3978)
Avoid stack overflow based on std::vector cause
std::vector::resize() segmentation fault.
2014-11-12 17:48:05 +08:00
Alexander Alekhin
569a95e9e1 Merge pull request #3394 from akarsakov:ocl_canny 2014-11-07 12:42:24 +00:00
Vadim Pisarevsky
573be75f50 Merge pull request #3392 from wangyan42164:houghlines_bug_fix 2014-11-07 11:52:58 +00:00
Yan Wang
0692bf5f34 Fix HoughLines crashes (Bug #3959).
Avoid phi exceed PI/2 to get the negative value of cos(phi).
2014-11-07 17:52:16 +08:00
Alexander Karsakov
7c870014fb Correctly unrolled some cycles 2014-11-07 12:13:00 +03:00
Alexander Alekhin
f50f249f80 Merge pull request #3138 from alalek:icv_update 2014-11-06 15:58:14 +00:00
Alexander Karsakov
0ec0aeb7d0 Minor optimization for ocl_canny 2014-11-06 13:07:33 +03:00
Vadim Pisarevsky
1d804bc695 Merge pull request #3360 from mirab:threshold_triangle 2014-11-06 08:36:24 +00:00
Miroslav Benes
4046f0398a Make Otsu and Triangle algorithms mutually exclusive
Make Otsu and Triangle algorithms mutually exclusive in cv::threshold code.

Signed-off-by: Miroslav Benes <mbenes@suse.cz>
2014-11-05 16:04:26 +01:00
Vadim Pisarevsky
7de4e0496c Merge pull request #3390 from vbystricky:fix_houghlines 2014-11-05 11:41:12 +00:00
vbystricky
957e5ef8eb Fix OpenCL version of HoughLinesP function 2014-11-05 14:31:06 +04:00
Alexander Alekhin
58e054a003 IPPICV: disable boxFilter 16SC1/16UC1 (performance) 2014-11-05 13:26:23 +03:00
Ilya Lavrenov
1fe5441185 cv::convertMaps 2014-11-01 10:13:28 -07:00
Ilya Lavrenov
aa11e102fd removed saturation from pyramids 2014-11-01 13:23:45 +03:00
Ilya Lavrenov
8d0383180c fixes for cv::warpAffine 2014-11-01 13:19:52 +03:00
Ilya Lavrenov
15af3f7114 fixes in VResizeLinearVec_32s8u 2014-11-01 13:19:52 +03:00
Ilya Lavrenov
a4dd2162f2 cv::resize (INTER_LANCZOS4) 2014-11-01 13:19:52 +03:00
Ilya Lavrenov
1b01e1fe68 cv::resize (INTER_AREA CV_16S, CV_32F) 2014-11-01 13:19:52 +03:00
Ilya Lavrenov
4ed696d770 cv::compareHist (CV_COMP_INTERSECT) 2014-11-01 13:19:51 +03:00
Ilya Lavrenov
d5f006eee5 cv::magnitude; cv::corner** 2014-11-01 13:19:51 +03:00
Ilya Lavrenov
7e6fb668ed cv::pyrUp 2014-11-01 13:19:51 +03:00
Ilya Lavrenov
46faf592fc cv::warpAffine 2014-11-01 13:19:51 +03:00
Ilya Lavrenov
85a814f748 VResizeLinearVec_32s8u 2014-11-01 13:19:51 +03:00
Alexander Alekhin
cae89a7a88 Merge pull request #3318 from akarsakov:ocl_cvtcolor 2014-10-29 14:25:09 +00:00
Alexander Karsakov
967a88759f Don't process empty src image in GFTT 2014-10-28 16:06:36 +03:00
Alexander Karsakov
643c906f3d Added optimized loading to YUV2RGB_422 kernel 2014-10-28 15:07:51 +03:00
Alexander Karsakov
1466621f99 Added loading 4 pixels in line instead of 2 to RGB[A] -> YUV(420) kernel 2014-10-27 16:00:34 +03:00
Maksim Shabunin
09fb7512ed Fixed iOS framework compilation warnings 2014-10-27 15:28:21 +03:00
Miroslav Benes
5b1fd739d9 Add Triangle thresholding algorithm
Add Triangle method for automatic threshold computation next to the existing
Otsu's method. Triangle deals better with images whose histogram does not
contain dominant peak.

See paper Zack GW, Rogers WE, Latt SA.: Automatic measurement of sister
chromatid exchange frequency. J Histochem Cytochem. 1977 Jul;25(7):741-53.
2014-10-22 16:54:39 +02: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
Maksim Shabunin
d3821e8cd7 Forgotten punctuation 2014-10-17 18:14:54 +04:00
Maksim Shabunin
420737e098 Fixing iOS clang warnings, part 1 2014-10-17 18:14:54 +04:00
Pavel Vlasov
45958eaabc Implementation detector and selector for IPP and OpenCL;
IPP can be switched on and off on runtime;

Optional implementation collector was added (switched off by default in CMake). Gathers data of implementation used in functions and report this info through performance TS;

TS modifications for implementations control;
2014-10-15 14:24:41 +04:00
Vadim Pisarevsky
a798386660 Merge pull request #3326 from ilya-lavrenov:neon_canny 2014-10-11 17:58:24 +00:00
Ilya Lavrenov
af04a85303 fixes for cv::accumulate** 2014-10-10 10:00:13 -07:00
Ilya Lavrenov
5f23d99918 the rest modes of cv::Mat::convertTo 2014-10-10 14:10:50 +00:00
Vadim Pisarevsky
397870d7a5 Merge pull request #3279 from akarsakov:ocl_houghlines 2014-10-09 14:56:45 +00:00
Ilya Lavrenov
183e378bd0 cv::resize (INTER_LINEAR && INTER_CUBIC) 2014-10-08 13:11:38 -07:00
Ilya Lavrenov
00b8f0dec1 cv::pyrUp 2014-10-08 12:04:49 -07:00
Ilya Lavrenov
48a9905f5d cv::pyrDown 2014-10-08 11:47:46 -07:00
Ilya Lavrenov
7166b7b640 cv::cvtColor (RGB2Luv CV_8U) 2014-10-07 13:49:05 -07:00
Ilya Lavrenov
1c1c41d3be cv::cvtColor (Luv2RGB CV_8U) 2014-10-07 13:35:11 -07:00
Ilya Lavrenov
06461b401a cv::cvtColor (Lab2BGR CV_8U) 2014-10-07 10:27:28 -07:00
Ilya Lavrenov
71c3e67cb2 cv::cvtColor (HLS2RGB CV_8U) 2014-10-07 15:37:21 +00:00
Ilya Lavrenov
c173d9fa18 cv::cvtColor (RGB2HLS CV_8U) 2014-10-07 15:33:09 +00:00
Ilya Lavrenov
8d367d4b4d cv::cvtColor (HSV2RGB CV_8U) 2014-10-07 15:25:02 +00:00
Ilya Lavrenov
eb3046f7d3 cv::cvtColor (Gray2RGB5x5) 2014-10-07 14:10:39 +00:00
Alexander Karsakov
66a8acfd3d Optimization for HoughLinesP 2014-10-07 17:53:33 +04:00
Alexander Alekhin
14d5358982 Merge pull request #3210 from akarsakov:ocl_gftt_opt 2014-10-07 09:06:54 +00:00
Ilya Lavrenov
f91e461ea0 cv::cvtColor (RGB5x52Gray) 2014-10-06 13:06:08 -07:00
Ilya Lavrenov
a84c4ac197 cv::cvtColor (RGBRGB5x5) 2014-10-06 12:40:41 -07:00
Ilya Lavrenov
b9f57bda05 cv::cvtColor (RGB5x52RGB) 2014-10-06 11:55:12 -07:00
Ilya Lavrenov
28ee84b731 cv::cvtColor (BGR[A]2RGB[A]) 2014-10-06 11:18:33 -07:00
Ilya Lavrenov
a54f6bb08b cv::cvtColor 2014-10-06 11:52:41 +00:00
Ilya Lavrenov
6f05a250be optimization of cv::CLAHE (~3x) 2014-09-30 12:40:11 -07:00
Ilya Lavrenov
af6a64d76b cv::accumulate functions 2014-09-30 11:07:45 -07:00
Ilya Lavrenov
81548a30aa cv::medianBLur 2014-09-30 07:59:33 +00:00
Ilya Lavrenov
8e1ccfae3d cv::boxFilter 2014-09-29 13:54:31 -07:00
Ilya Lavrenov
1c491c42cd fix for cornerHarris 2014-09-29 14:59:46 +00:00
Alexander Karsakov
eaf5a163b1 Added HoughLinesP OCL implementation 2014-09-29 16:48:16 +04:00
Alexander Karsakov
3695a31606 Combined counter and corner buffers into one 2014-09-29 11:10:57 +04:00
Ilya Lavrenov
d090fcf2fe cv::moments (CV_8UC1) 2014-09-26 14:39:04 +00:00
Ilya Lavrenov
09fbc78a97 cv::threshold 2014-09-26 13:16:48 +00:00
Ilya Lavrenov
b4fc87c380 cv::remap 2014-09-26 10:35:28 +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
Ilya Lavrenov
12001a42f9 corners 2014-09-26 09:41:45 +00:00
Ilya Lavrenov
d30ce2b9ac canny 2014-09-26 09:41:45 +00:00
Vadim Pisarevsky
d1afa0e370 Merge pull request #3234 from vpisarev:fixed_photo_test_failure 2014-09-18 13:06:54 +00:00
Vadim Pisarevsky
470f427a95 Merge pull request #3232 from Chuanbo-Weng:master 2014-09-18 11:48:29 +00:00
Vadim Pisarevsky
aa6ba149bc make sure ptr<> is called with proper parameter, otherwise the assertion fails 2014-09-18 15:47:59 +04:00
Chuanbo Weng
c5552788c5 Use vload to read unaligned data instead of dereference operator.
According to opencl 1.2 spec 6.1.5:
    For arguments to a __kernel function declared to be a pointer to a
    data type, the OpenCL compiler can assume that the pointee is always
    appropriately aligned as required by the data type. The behavior of
    an unaligned load or store is undefined, except for the
    vloadn, vload_halfn, vstoren, and vstore_halfn functions defined in
    section 6.12.7.

Original code read data of type T from address not aligned by multiple
of sizeof(T), so the result is incorrect. With this patch, the cases
./opencv_perf_imgproc
--gtest_filter=OCL_ImgSize_TmplSize_Method_MatType_MatchTemplate.MatchTemplate/*
could work well with beignet 0.9.3.

Signed-off-by: Chuanbo Weng <chuanbo.weng@intel.com>
2014-09-17 19:28:07 +08:00
Alexander Mordvintsev
0319120adc fix: ippiFilterMedianBorder sometimes crash when doing in-place filtering 2014-09-17 13:26:39 +04:00
Alexander Karsakov
8c08714b8c Remove two "set" kernel call 2014-09-11 18:11:23 +04:00
vbystricky
b0bf8478e5 Optimization OpenCL version of Filter2D 2014-09-11 12:59:51 +04:00
Alexander Karsakov
39b27a19be Refactoring and optimization 2014-09-05 12:20:29 +04:00
Alexander Karsakov
d59a6fa518 Optimization for getLines 2014-09-05 11:37:16 +04:00
Alexander Karsakov
fee8f29f48 Refactoring, minor optimization 2014-09-04 16:31:30 +04:00
Alexander Karsakov
07d57db91c Fixed calculation of l_stack_size 2014-09-03 17:40:17 +04:00
Alexander Karsakov
a48c1c8248 Added workaround for Nvidia: take into account that 3-channel vector type takes 4*elem_size in local memory. 2014-09-02 12:38:02 +04:00
Alexander Karsakov
214dab39f6 Fixed BORDER_REFLECT and BORDER_REFLECT_101 extrapolation for case x > 2*maxV 2014-09-02 11:53:31 +04:00
Elena Gvozdeva
31ac73c315 fix for cv::memopTypeToStr 2014-08-29 14:18:52 +04:00
Alexander Alekhin
b332152bef Merge pull request #2956 from ilya-lavrenov:tapi_accumulate 2014-08-28 09:08:51 +00:00
Alexander Karsakov
f7aadd07f6 Added getLines, fill_accum_local kernels 2014-08-27 17:57:22 +04:00
Vadim Pisarevsky
d66815978a Merge pull request #3117 from KruchDmitriy:canny_opt 2014-08-27 10:07:55 +00:00
VBystricky
9ee0789174 Fix issues 2014-08-26 14:39:11 +04:00
vbystricky
e75cd74f5a Optimize OpenCL version of Laplacian filter for kernel size great than 3 2014-08-25 17:56:09 +04:00
Alexander Karsakov
038bfb98ec Added fill_accum kernel 2014-08-25 13:55:09 +04:00
Ilya Lavrenov
7017b1250a used new stratehy in cv::accumulate** 2014-08-25 11:25:54 +04:00
Ilya Lavrenov
a350b76738 optimization of cv::accumulate** 2014-08-25 11:25:01 +04:00
Alexander Karsakov
5c1f71de51 Added make_point_list kernel 2014-08-22 16:50:01 +04:00
Vadim Pisarevsky
e7539bd2c8 Merge pull request #3144 from ElenaGvozdeva:ocl_morphSmall 2014-08-22 12:14:06 +00:00
U-KruchininD-ПК\KruchininD
6ed168d3af New optimization for canny
new hysteresis

delete whitespaces

fix problem with mad24

Dynamic work group size

dynamic work group size

Fix problem with warnings

Fix some problems with border

Another one fix

Delete trailing whitespaces

some changes

fix problem with warning
2014-08-22 11:22:15 +04:00
Elena Gvozdeva
7ad6b47bc9 fixed ocl_boxFilter 2014-08-22 10:31:13 +04:00
Alexander Karsakov
3d222d313b Fixed range for 'v' channel for 8U images 2014-08-21 17:22:06 +04:00
Elena Gvozdeva
5302e56071 fix for ocl_morphSmall 2014-08-21 16:31:24 +04:00
Alexander Karsakov
b027eac173 Fixed range for 'v' channel for 8U images. 2014-08-20 11:09:21 +04:00
Vadim Pisarevsky
8658aef3bf Merge pull request #3104 from dkanafeev:new_ipp_func_master 2014-08-19 09:06:45 +00:00
Vadim Pisarevsky
e9729a9601 multiple yet minor fixes to make most of the tests pass on Mac with Iris graphics 2014-08-16 00:29:10 +04:00
dkanafeev
1b0f0d7ead Intel Summer School 2014
Switch branch to master.
New IPP func - ippiCopy
Conv: YUV2GRAY_420
2014-08-15 12:54:31 +04:00
Vadim Pisarevsky
95a4943762 Merge pull request #3103 from vpisarev:core_imgproc_optim_rearrangements 2014-08-14 13:39:01 +00:00
Vadim Pisarevsky
4530c7ad08 trying to fix builds 2014-08-14 13:18:04 +04:00
Vadim Pisarevsky
257463719b removed optim module; moved its functionality to core and photo modules; moved drawing functions from core to imgproc. Removed FilterEngine etc. from public API 2014-08-14 12:50:07 +04:00
Alexander Karsakov
8760a344ec Fixed incorrect pointer conversion for in-place threshold 2014-08-14 11:02:55 +04:00
Alexander Smorkalov
e11333dd83 GCC 4.8 warning array subscript is above array bounds fixed. 2014-08-13 17:12:08 +04:00
Adil Ibragimov
9ac06a9333 fix for gcc 2014-08-13 16:34:18 +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
Vadim Pisarevsky
01bd4961e3 Merge pull request #3081 from akarsakov:small_fixes 2014-08-13 10:50:33 +00:00
Vadim Pisarevsky
c97c0be4f2 Merge pull request #3082 from ElenaGvozdeva:ocl_morphSmall 2014-08-12 13:56:59 +00:00
Alexander Karsakov
b4d3b34acf Disabled ippiFilterBoxBorder_* in case maskSize equal roiSize for any dimension 2014-08-12 16:38:11 +04:00
Vadim Pisarevsky
5119564579 Merge pull request #3033 from nathanjackson:clahe_datatypes 2014-08-12 10:45:29 +00:00
Alexander Karsakov
5898dcae4a Added ROUNDING_EPS for identical rounding after dividing on different platforms 2014-08-12 14:28:48 +04:00
Elena Gvozdeva
8124d10526 fixed Erode and Dilate in case of kernel = Mat() 2014-08-12 12:19:13 +04:00
Nathan Jackson
563200fbf6 CPU (non-OpenCL) CLAHE now supports CV_16UC1. 2014-08-11 18:25:08 -04:00
Vadim Pisarevsky
6df1198e8b Merge pull request #3071 from mshabunin:stitch-fix 2014-08-11 16:08:40 +00:00
Alexander Alekhin
8fd61c9aa6 Merge pull request #3075 from akarsakov:ipp_imgproc_fix 2014-08-11 15:02:53 +00:00