Commit Graph

2269 Commits

Author SHA1 Message Date
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
Vadim Pisarevsky
39467d84bf Merge pull request #7353 from alalek:ocl_update_canny_test_threshold 2016-10-01 15:48:21 +00:00
Alexander Alekhin
1c18b1d245 Merge pull request #7370 from souch55:Fixxn 2016-10-01 10:44:56 +00:00
catree
2dd77f886a Fix dead link for hit or miss documentation. 2016-09-30 20:34:30 +02:00
sourin
a34fbf7bb1 Fixed identifiers warns 2016-09-30 15:16:29 +05:30
Maksim Shabunin
3d5c0f1faf HAL interface for cv::integral 2016-09-29 12:12:10 +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
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
Vadim Pisarevsky
ab3814f9b9 Merge pull request #7191 from anirudt:docs_moments 2016-09-14 12:30:27 +00:00
matze
a865876c0f Added CV_UNUSED to not used variable when build without SSE2 support. 2016-09-13 19:32:37 +02:00
anirudt
2879eada25 docs: truncated commit msg 2016-09-13 16:14:05 +05:30
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
anirudt
06e0fb25e9 docs: adds doxygen @note for python in docs related to contour moments 2016-09-09 13:23:43 +05:30
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
Maksim Shabunin
e2de96289b Merge pull request #7220 from paroj:imgproc_doxy 2016-09-06 14:33:17 +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
Pavel Rojtberg
cfcf8abbb6 doxygen: imgproc - underscores should not be escaped in texttt 2016-09-02 16:41:45 +02:00
Pavel Rojtberg
62cabb58a9 doxygen: undistortPoints - replace matlab code by latex forumlae 2016-09-02 16:41:45 +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
anirudt
6825375694 docs: adds note for python in docs related to moments 2016-08-29 20:22:08 +05:30
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
Suleyman TURKMEN
fcc28fecb6 Make Up 2016-08-23 22:17:30 +03: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
86a515fdae imgproc: fix accuracy check for HLS cvtColor 2016-08-19 17:32:17 +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
89833fa073 Merge pull request #7095 from PkLab:fix_rho&phi_doc 2016-08-17 10:46:30 +00:00
PkLab.net
4b099e8ade Fix rho,phi exchange and amend linearPolar & logPolar docs with details and pics. 2016-08-16 12:49:33 +02: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
Alexander Alekhin
c2394339a8 Merge pull request #7075 from alalek:ocl_fix_canny_perf_test 2016-08-11 09:19:44 +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
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
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
e20a93f7d6 imgproc test: Canny with custom gradient 2016-07-19 17:15:36 +03: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
Alexander Alekhin
89c9e7c2e6 Merge pull request #6928 from K-Shinotsuka:issue4 2016-07-18 13:51:55 +00:00
arybnikov
2deda0e868 Added tests for issues ##4515, 6544 2016-07-18 10:01:13 +03: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
Maksim Shabunin
9e7124127f Merge pull request #6906 from jet47:goodFeaturesToTrack-maxCorners-docs 2016-07-15 09:06:55 +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
Vladislav Vinogradov
1c8b1b2d2b add note about "maxCorners <= 0" case in goodFeaturesToTrack 2016-07-14 15:48:08 +03: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
Tomoaki Teshima
bbeac745ca Update test case for 64F version 2016-05-26 08:38:29 +09:00
Vadim Pisarevsky
0cb1e96472 Merge pull request #6546 from atinfinity:pullreq/160517-threshold-64F 2016-05-25 13:19:50 +00:00
Suleyman TURKMEN
abab67b574 Update imgproc.hpp
update documentation of calcBackProject() calcHist() compareHist()
2016-05-21 14:08:14 +03:00
atinfinity
1f1464c925 remove unnecessary cast 2016-05-18 08:32: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
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
d8629b0fa4 Merge pull request #6335 from themightyoarfish:canny_kernel_sz_fix 2016-04-13 07:52:05 +00: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