Alexander Alekhin
32772a5436
3.4: backported changes from 'master' branch
2019-08-14 16:36:08 +03:00
Alexander Alekhin
174b4ce29d
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-08-05 18:11:43 +00:00
Maksim Shabunin
6d5ac67681
Restored IPP call reduction
2019-07-31 15:41:22 +03:00
dcouwenh
d3cf0d2c06
Bayer VNG Demosaicing Fix #2 (Merge pull request #15086 )
...
* Update demosaicing.cpp
Fixed calculation of Bs for non-green pixels.
* Fixed cvtColor perf test for bayer VNG
2019-07-30 23:49:46 +03:00
Alexander Alekhin
199ddff13b
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-07-18 20:25:25 +00:00
Vitaly Tuzov
e0f8bb83a6
Merge pull request #14994 from terfendail:wintr_undistort
...
WUI based implementation to initUndistortRectifyMap (#14994 )
* Add initUndistortRectifyMap performance test
* Move cv namespace boundaries
* Add wide universal intrinsics based implementation to initUndistortRectifyMap
* Dispatch undistort
2019-07-18 19:32:51 +03:00
Chip Kerchner
c9fcc12e3b
Merge pull request #15048 from ChipKerchner:reduceStoreGatheringThreshold
...
* Reduce store gathering pressures - speeds thresholds by up to 20%
* Rename temporary histogram array and initialize so that MACOSX builder is happy
2019-07-16 16:10:49 +03:00
Alexander Alekhin
f6c573880e
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-07-12 18:45:06 +00:00
Alexander Alekhin
054c796213
Merge pull request #15026 from terfendail:gaussian_fix
2019-07-12 18:31:09 +00:00
Vitaly Tuzov
894ad33bf4
Fix pixel value evaluation overflow in bit-exact GaussianBlur implementation
2019-07-12 18:11:51 +03:00
Alexander Alekhin
32c6e58bdb
imgproc: fix unaligned memory access
...
may cause crashes on ARM platform
2019-07-11 20:49:47 +00:00
Alexander Alekhin
f663e8f903
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-07-09 19:57:57 +00:00
Alexander Alekhin
39a975cb29
Merge pull request #14983 from tomoaki0705:fixOclCvtColorMRGBA
2019-07-05 09:31:08 +00:00
Tomoaki Teshima
594a95839c
fix test failure of OCL_ImgProc/CvtColor8u.mRGBA2RGBA
2019-07-05 11:22:22 +09:00
Vitaly Tuzov
82e5b961d3
Fixed initUndistortRectifyMap AVX2 implementation
2019-07-04 15:49:33 +03:00
Alexander Alekhin
097d81363b
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-07-02 21:17:45 +00:00
arnaudbrejeon
a37201abee
Fix crash, add assert and test
2019-07-02 09:56:31 -07:00
Vitaly Tuzov
9befb7a1d7
Merge pull request #14916 from terfendail:wsignmask_deprecated
...
* Avoid using v_signmask universal intrinsic and mark it as deprecated
* Renamed v_find_negative to v_scan_forward
2019-07-01 19:53:51 +03:00
StefanBruens
3e4a195b61
Merge pull request #14936 from StefanBruens:crosscorr_cleanup
...
Crosscorr cleanup (#14936 )
* Simplify code for convolution destination type/size
For the 2d filter code, destination size equals source size, and the
crossCorr function even (re-)creates the output matrix with the given size.
The number of channels also have to match. The destination type() is the
one used to create the output matrix, so we can use its type() here.
This is a preparatory patch.
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
* Remove redundant destination size and type parameters from crossCorr
All calling sites of crossCorr already use (...,
mat, mat.size(), mat.type(), ...), so the parameters are redundant.
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2019-06-30 19:04:25 +03:00
Alexander Alekhin
b95e93c20a
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-06-26 20:19:04 +00:00
Alexander Alekhin
4112866821
Merge pull request #14886 from alalek:fix_grabcut_kmeans_call_14879
2019-06-26 20:03:04 +00:00
Alexander Alekhin
0a461e7922
Merge pull request #13252 from take1014:filter2d_13179
2019-06-26 13:34:10 +00:00
Alexander Alekhin
4a6888ccf6
imgproc: fix kmeans() call from grabCut()
2019-06-25 13:42:04 +03:00
Alexander Alekhin
f33f88de31
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-06-21 17:27:14 +03:00
Alexander Alekhin
5ac55fc132
core: eliminate AVX512 build warnings
...
from MSVS2017 and GCC8 -O1 mode
2019-06-20 20:00:09 +03:00
Alexander Alekhin
8ca4252303
Merge pull request #14583 from FanaticsKang:fix_undistortPoint_bug
2019-06-14 18:30:26 +00:00
Kang
549c53121a
fix the bug, when k[4] is negative, icdist may be negative at the edge of image.
2019-06-14 19:00:36 +03:00
Alexander Alekhin
81fad9e247
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-06-11 20:43:40 +00:00
Vitaly Tuzov
d2aadabc5e
Merge pull request #14743 from terfendail:wui512_fixvswarn
...
Fix for MSVS2019 build warnings (#14743 )
* AVX512 arch support for MSVS
* Fix for MSVS2019 build warnings: updated integral() AVX512 implementation
* Fix for MSVS2019 build warnings: reworked v_rotate_right AVX512 implementation
* fix indentation
2019-06-11 23:07:39 +03:00
Alexander Alekhin
11b020b9f9
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-06-10 19:05:28 +00:00
Alexander Alekhin
1e9ad5476d
core(intrin): drop hasSIMD128 checks
...
- use compile-time checks instead (`#if CV_SIMD128`)
- runtime checks are useless
2019-06-08 19:20:20 +00:00
Alexander Alekhin
f3de2b4be7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-06-05 19:11:52 +03:00
bommo1
a38157a1f4
Fix https://github.com/opencv/opencv/issues/14265
2019-06-03 23:05:03 +02:00
Vitaly Tuzov
3b015dfc7d
Merge pull request #14210 from terfendail:wui_512
...
AVX512 wide universal intrinsics (#14210 )
* Added implementation of 512-bit wide universal intrinsics(WIP)
* Added implementation of 512-bit wide universal intrinsics: implemented WUI vector types(WIP)
* Added implementation of 512-bit wide universal intrinsics(WIP): implemented load/store
* Added implementation of 512-bit wide universal intrinsics(WIP): implemented fp16 load/store
* Added implementation of 512-bit wide universal intrinsics(WIP): implemented recombine and zip, implemented non-saturating and saturating arithmetics
* Added implementation of 512-bit wide universal intrinsics(WIP): implemented bit operations
* Added implementation of 512-bit wide universal intrinsics(WIP): implemented comparisons
* Added implementation of 512-bit wide universal intrinsics(WIP): implemented lane shifts and reduction
* Added implementation of 512-bit wide universal intrinsics(WIP): implemented absolute values
* Added implementation of 512-bit wide universal intrinsics(WIP): implemented rounding and cast to float
* Added implementation of 512-bit wide universal intrinsics(WIP): implemented LUT
* Added implementation of 512-bit wide universal intrinsics(WIP): implemented type extension/narrowing and matrix operations
* Added implementation of 512-bit wide universal intrinsics(WIP): implemented load_deinterleave for 2 and 3 channels images
* Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented load_deinterleave for 2- and implemented for 4-channel images
* Added implementation of 512-bit wide universal intrinsics(WIP): implemented store_interleave
* Added implementation of 512-bit wide universal intrinsics(WIP): implemented signmask and checks
* Added implementation of 512-bit wide universal intrinsics(WIP): build fixes
* Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented popcount in case AVX512_BITALG is unavailable
* Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented zip
* Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented rotate for s8 and s16
* Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented interleave/deinterleave for s8 and s16
* Added implementation of 512-bit wide universal intrinsics(WIP): updated v512_set macros
* Added implementation of 512-bit wide universal intrinsics(WIP): fix for GCC wrong _mm512_abs_pd definition
* Added implementation of 512-bit wide universal intrinsics(WIP): reworked v_zip to avoid AVX512_VBMI intrinsics
* Added implementation of 512-bit wide universal intrinsics(WIP): reworked v_invsqrt to avoid AVX512_ER intrinsics
* Added implementation of 512-bit wide universal intrinsics(WIP): reworked v_rotate, v_popcount and interleave/deinterleave for U8 to avoid AVX512_VBMI intrinsics
* Added implementation of 512-bit wide universal intrinsics(WIP): fixed integral image SIMD part
* Added implementation of 512-bit wide universal intrinsics(WIP): fixed warnings
* Added implementation of 512-bit wide universal intrinsics(WIP): fixed load_deinterleave for u8 and u16
* Added implementation of 512-bit wide universal intrinsics(WIP): fixed v_invsqrt accuracy for f64
* Added implementation of 512-bit wide universal intrinsics(WIP): fixed interleave/deinterleave for u32 and u64
* Added implementation of 512-bit wide universal intrinsics(WIP): fixed interleave_pairs, interleave_quads and pack_triplets
* Added implementation of 512-bit wide universal intrinsics(WIP): fixed rotate_left
* Added implementation of 512-bit wide universal intrinsics(WIP): fixed rotate_left/right, part 2
* Added implementation of 512-bit wide universal intrinsics(WIP): fixed 512-wide universal intrinsics based resize
* Added implementation of 512-bit wide universal intrinsics(WIP): fixed findContours by avoiding use of uint64 dependent 512-wide v_signmask()
* Added implementation of 512-bit wide universal intrinsics(WIP): fixed trailing whitespaces
* Added implementation of 512-bit wide universal intrinsics(WIP): reworked specific intrinsic sets dependent parts to check availability of intrinsics based on CPU feature group defines
* Added implementation of 512-bit wide universal intrinsics(WIP):Updated AVX512 implementation of v_popcount to avoid AVX512VPOPCNTDQ intrinsics if unavailable.
* Added implementation of 512-bit wide universal intrinsics(WIP): Fixed universal intrinsics data initialisation, v_mul_wrap, v_floor, v_ceil and v_signmask.
* Added implementation of 512-bit wide universal intrinsics(WIP): Removed hasSIMD512()
* Added implementation of 512-bit wide universal intrinsics(WIP): Fixes for gcc build
* Added implementation of 512-bit wide universal intrinsics(WIP): Reworked v_signmask, v_check_any() and v_check_all() implementation.
2019-06-03 18:05:35 +03:00
Alexander Alekhin
43467a2ac7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-05-28 18:29:48 +00:00
Alexander Alekhin
aaf56c2839
Merge pull request #14649 from savuor:fix/luv_hls_read_oob
2019-05-27 16:24:55 +00:00
Alexander Alekhin
a81c0e6db9
Merge pull request #14447 from catree:fix_issue_14423
2019-05-27 15:00:21 +00:00
Rostislav Vasilikhin
8c698262ea
rgb2hls_b: out of bounds read fixed
2019-05-27 16:19:52 +03:00
Rostislav Vasilikhin
791ebd05fc
out of bounds read fixed in rgb2luv_b
2019-05-27 16:19:01 +03:00
Rostislav Vasilikhin
e07ffe902e
Merge pull request #14616 from savuor:hsv_wide
...
HSV and HLS color conversions rewritten to wide intrinsics (#14616 )
* RGB2HSV_b vectorized
* RGB2HSV_f: widen
* RGB2HSV_f: shorten, more intuitive
* HSV2RGB_f and HSV2RGB_b widen
* hls2rgb_f widen
* instrumentation instead vx_cleanup
* RGB2HLS_f widen
* RGB2HLS_b rewritten to wide universal intrinsics
* define guard against no SIMD code
* hls2rgb_b rewritten
* extra define removed
* warning fixed
* hls2rgb_b: performance fixed
2019-05-24 23:01:08 +03:00
Alexander Alekhin
166ecaeda8
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-05-23 19:50:20 +03:00
Ahmed Ashour
f3319f6140
java: remove redundant declaration of java.lang package
2019-05-23 14:06:34 +02:00
catree
7ed858e38e
Fix issue with solvePnPRansac and Nx3 1-channel input when the number of points is 5. Try to uniform the input shape of projectPoints and undistortPoints.
2019-05-22 14:19:16 +02:00
Rostislav Vasilikhin
e90e0ef9aa
Merge pull request #14106 from savuor:lab_wide
...
Lab, Luv and XYZ conversions rewritten to wide intrinsics (#14106 )
* rgb2xyz<float> re-vectorized
* rgb2xyz_i vectorized for ushort and uchar
* xyz2rgb<float> vectorized
* xyz2rgb_i vectorized for both uchar and ushort
* intermediate conversions (int->float) rewritten
* packed rgb2luv rewritten
* (some) float conversions rewritten
* burnt volatile int _3 and similar
* RGB2Lab_b rewritten
* tests: logging made better
* RGB2Lab_f (LRGB path) rewritten
* Lab2RGBfloat rewritten
* Lab2RGBinteger and Lab2RGB_b rewritten to wide universal intrinsics
* Luv2RGBinteger wide vectorized
* RGB2Lab_b fixed: v_sub_wrap instead of saturated sub
* warnings fixed
* trying to fix compilation on older compilers
* using 16x8 registers for 8-element dot product
* cleanup added
* splineInterpolate: loop unrolled, perf fix for f32x4
* Lab2RGBfloat: grab 2x more data to process on f32x4
* nrepeats for Luv2RGBfloat, +20% perf
* minor
* nrepeats to RGB2Lab_f
* Lab2RGBinteger: no tab for linear BGR
* nrepeats for RGB2Luvfloat
* Luv2RGBinteger: no tab for linear RGB
* +10% more to perf of Luv2RGBfloat
* nrepeats for 256-simd for Lab2RGBfloat
* less warnings
* BOM removed
* CV_SIMD_WIDTH used for lanes number checking
* trilinearPackedInterpolate: 128-bit specialization added
* fix build; no vx_cleanup(), instrumentation instead
2019-05-20 21:10:20 +03:00
Alexander Alekhin
30a595789c
Merge pull request #14463 from thangktran:thangktran/fix-imgproc-intersectConvexConvex
2019-05-16 14:50:20 +00:00
Thang Tran
1aff378ae8
imgproc: fixed bug from intersectConvexConvex
...
Added checks for all of vertices from each contour instead of checking
only for the first vertex.
2019-05-01 11:06:30 +02:00
Alexander Alekhin
e28e3c9491
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-05-01 08:27:45 +00:00
Alexander Alekhin
1c180f4c7f
imgproc: fix RemoveOverlaps() with empty input vector
2019-04-29 21:15:23 +00:00
Alexander Alekhin
d0032b0717
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-04-22 18:17:28 +00:00
Suleyman TURKMEN
3f9343e238
Update imgproc.hpp
2019-04-22 00:48:11 +03:00
Alexander Alekhin
c024edb9a8
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-04-19 15:43:58 +03:00
Alexander Alekhin
9dccfe2a96
Merge pull request #13917 from sturkmen72:removed_c_api
2019-04-17 19:04:33 +00:00
Alexander Alekhin
90df5e00b4
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-03-26 18:56:54 +00:00
Brad Kelly
0fe17eeb68
Implementing AVX512 Support for 1 channel mats for CV_64F format
2019-03-22 09:44:23 -07:00
Alexander Alekhin
bd1fd59fc1
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-03-13 19:13:13 +00:00
Alexander Alekhin
8c8715c4dd
fix static analysis issues
2019-03-13 17:19:39 +03:00
Alexander Alekhin
f73b4f4a26
imgproc: revert #13843
...
This reverts commit 00e8c7810f
2019-03-13 15:07:37 +03:00
take1014
e0b664f390
fix dftFilter2D
2019-03-13 00:27:56 +09:00
Alexander Alekhin
8c0b0714e7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-03-11 19:20:22 +00:00
Alexander Alekhin
2c07c6718f
imgproc: dispatch morph
2019-03-11 13:54:12 +00:00
Alexander Alekhin
5a01227aa1
imgproc: dispatch box_filter
2019-03-11 13:54:12 +00:00
Alexander Alekhin
ce3c92eb1f
imgproc: dispatch bilateral_filter
2019-03-11 13:54:12 +00:00
Alexander Alekhin
b99c9145bf
imgproc: dispatch smooth
2019-03-11 13:54:12 +00:00
Alexander Alekhin
6ec08f268f
imgproc: dispatch medianBlur
2019-03-11 13:54:12 +00:00
Alexander Alekhin
8546ac3ce6
imgproc: get rid of filter.avx2.cpp
2019-03-11 13:54:12 +00:00
Alexander Alekhin
9a8dbfd57f
imgproc: dispatch filter.cpp
2019-03-11 13:54:12 +00:00
Alexander Alekhin
756a98a395
imgproc: keep history of filters files
2019-03-11 13:54:07 +00:00
Alexander Alekhin
9dc7554089
imgproc: copy .dispatch.cpp
2019-03-11 13:53:59 +00:00
Alexander Alekhin
6eac8f78b9
imgproc: copy .simd.hpp
2019-03-11 13:53:59 +00:00
Alexander Alekhin
7e8cc580c9
Merge pull request #13997 from alalek:imgproc_dispatch_cvtcolor
2019-03-08 16:18:44 +00:00
Alexander Alekhin
8b541e450b
imgproc: dispatch color*
...
Lab/XYZ modes have been postponed (color_lab.cpp):
- need to split code for tables initialization and for pixels processing first
- no significant performance improvements for switching between SSE42 / AVX2 code generation
2019-03-07 15:45:05 +03:00
Alexander Alekhin
39783a6584
core: keep history of color*.cpp
2019-03-07 15:38:13 +03:00
Alexander Alekhin
f26912960f
imgproc: clone color*.dispatch.cpp
2019-03-07 15:35:49 +03:00
Alexander Alekhin
db588bb831
imgproc: clone color*.simd.hpp
2019-03-07 15:35:13 +03:00
Alexander Alekhin
d5a2fe5180
perf: ignore _ovx tests
2019-03-06 15:52:23 +03:00
Alexander Alekhin
332c37f332
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-03-06 11:43:16 +03:00
Vitaly Tuzov
99b39aa5bd
Fixed out of bound reading in LINEAR_EXACT resize for 8UC3
2019-03-05 17:21:21 +03:00
Suleyman TURKMEN
3d1dbd2ccd
clean up C API
2019-03-03 21:43:27 +03:00
Alexander Alekhin
3ba49ccecc
imgproc: removed LSD code due original code license conflict
2019-03-01 16:25:39 +03:00
Vitaly Tuzov
9548093b46
Horizontal line processing for pyrDown() reworked using wide universal intrinsics.
2019-02-28 00:12:57 +03:00
Alexander Alekhin
c3cf35ab63
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-02-26 17:34:42 +03:00
Alexander Alekhin
1db5d82b7f
Merge pull request #13844 from brad-kelly:integral_avx512_cn234
2019-02-20 12:27:16 +00:00
Vitaly Tuzov
334c4d62b5
Merge pull request #13781 from terfendail:warp_wintr
...
Resize reworked using wide universal intrinsics (#13781 )
* Added wide universal intrinsics optimized implementation for 3 channel bit-exact linear resize
* Reworked linear resize using new wide LUT intrinsics
* Fix for VSX intrinsics
2019-02-20 14:30:28 +03:00
Brad Kelly
507f8add1c
Implementing AVX512 Support for 2 and 4 channel mats for CV_64F format
2019-02-19 11:31:20 -08:00
Pierre Chatelier
00e8c7810f
LineIterator witout a Mat ( #13843 )
...
* LineIterator witout a Mat
cv::LineIterator can be used without being attached to any cv::Mat, it only needs the size and type of data. An alternative constructor has been defined for that.
In that case, a LineIterator can no more be dereferenced with the * operator, but pos() still returns valid pixel positions.
It can be useful when LineIterator is just used to compute positions of pixels on a line, without requiring to build a Mat just for that.
Use case : with a dataset that would represent a huge image, pixel positions can be pre-computed before querying the dataset API.
* Update imgproc.hpp
removed trailing spaces
* Update drawing.cpp
fixed warning
2019-02-19 13:44:41 +03:00
Alexander Alekhin
f414c16c13
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-02-08 17:18:56 +00:00
Alexander Alekhin
757d8ac8f7
Merge pull request #13769 from savuor:cvtColor_tests_16u_32f
2019-02-08 15:29:35 +00:00
Alexander Alekhin
8f7e92e466
Merge pull request #13764 from nglee:dev_CudaCLAHE16bitSupport
2019-02-08 10:13:11 +00:00
Rostislav Vasilikhin
4e679e1cc5
disabled 16u and 32f perf tests
2019-02-07 19:26:36 +03:00
Rostislav Vasilikhin
87f651c119
disabled sanity check for 32f
2019-02-07 18:20:29 +03:00
Vitaly Tuzov
07c10d6fc3
Fixed out of bound reading issue in erode() and dilate()
2019-02-07 17:28:58 +03:00
Namgoo Lee
fb8e652c3f
Add CV_16UC1 support for cuda::CLAHE
...
Due to size limit of shared memory, histogram is built on
the global memory for CV_16UC1 case.
The amount of memory needed for building histogram is:
65536 * 4byte = 256KB
and shared memory limit is 48KB typically.
Added test cases for CV_16UC1 and various clip limits.
Added perf tests for CV_16UC1 on both CPU and CUDA code.
There was also a bug in CV_8UC1 case when redistributing
"residual" clipped pixels. Adding the test case where clip
limit is 5.0 exposes this bug.
2019-02-06 17:21:55 +00:00
Rostislav Vasilikhin
bbedebb57c
perf tests for cvtColor for 16U and 32f added
2019-02-06 17:56:44 +03:00
Alexander Alekhin
fcec053d59
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-02-05 19:12:41 +03:00
Rostislav Vasilikhin
554eae56d1
Merge pull request #13708 from savuor:yuv42x_wide
...
YUV42x color conversions rewritten to wide intrinsics (#13708 )
* a*b+c -> fma
* YUV420sp2RGB initially vectorized
* shorter var names
* loops by 4
* yuv420p2rgb vectorized
* yuv422toRGB vectorized
* reg arrays
* rgb2yuv420 vectorized
* warnings fixed
* try to fix align error
2019-02-01 19:09:31 +03:00
Alexander Alekhin
665408e57f
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-02-01 13:17:32 +03:00
Vitaly Tuzov
2f5af1bd33
Merge pull request #13693 from terfendail:spatialgrad_wintr
...
* spatialGradient() reworked to use wide universal intrinsics
* Moved row pointers inside loops
2019-01-30 22:37:27 +03:00
Alexander Alekhin
268d73165e
Merge pull request #13684 from terfendail:lblend_wintr
2019-01-29 16:21:08 +00:00
Alexander Alekhin
5916ebf500
Merge pull request #13679 from alalek:imgproc_median_blur_cleanup
...
* imgproc: cleanup medianBlur_8u_O1 code
Unnecessary per-channel buffers: H[c] / lut[c]
* imgproc(medianBlur_8u_O1): use CV_SIMD_WIDTH for alignment
2019-01-29 19:20:24 +03:00
Arnaud Brejeon
d998e70a25
Merge pull request #13672 from arnaudbrejeon:bug_fix_12961
...
PyrDown: Fix bug #12961 (#13672 )
* Force unaligned pointer and create test
* More cross-platform solution
* MSVC expects a proper order
* Remove useless clang macro
2019-01-28 21:36:00 +03:00
Vitaly Tuzov
ed2e1af3e8
Added performance test for blendLinear
2019-01-25 14:16:19 +03:00
Vitaly Tuzov
266725a378
blendLinear() reworked to use wide universal intrinsics
2019-01-25 14:16:20 +03:00
Alexander Alekhin
631b246881
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-01-22 18:00:34 +00:00
Rostislav Vasilikhin
a6af9c75e9
a*b+c -> fma
2019-01-21 18:57:08 +03:00
Rostislav Vasilikhin
74ba4b7ae2
fixed (un)signed packing s16 -> u8
2019-01-21 18:10:29 +03:00
Rostislav Vasilikhin
6de86e325f
fixed (un)signed packing s16 -> u8
2019-01-21 18:01:44 +03:00
Alexander Alekhin
a84e11451b
imgproc(test): RGB2YUV regression test
2019-01-21 16:07:20 +03:00
Rostislav Vasilikhin
48e471fdd4
YUV vectorizations ported to master from 3.4
2019-01-21 15:35:34 +03:00
Alexander Alekhin
0395b2ea9c
Merge pull request #13650 from terfendail:shapedescr_wintr
2019-01-18 16:18:47 +00:00
Rostislav Vasilikhin
3812ae7949
Merge pull request #13649 from savuor:yuv_wide
...
YUV/YCrCb conversions rewritten to wide intrinsics (#13649 )
* YUV: minors
* YUV42x conversions template-merged
* more template-merged YUV42x conversions; some NEON code removed
* rgb2yuv<float> vectorized
* yuv2rgb<float> vectorized
* memcpy removed
* Yuv2RGB<ushort> vectorized
* unused code removed
* rgb2yuv<ushort> vectorized
* rgb2yuv<uchar> vectorized
* v_pack_u used (up to +30% perf)
* yuv2rgb<uchar> vectorized
* fixed compilation
2019-01-18 19:06:29 +03:00
Vitaly Tuzov
a84bbc62b1
boundingRect() reworked to use wide universal intrinsics
2019-01-18 18:31:54 +03:00
Alexander Alekhin
40959fcc61
Merge pull request #13637 from berak:fix_openvx
2019-01-18 14:56:31 +00:00
Vitaly Tuzov
78f80c35d2
Performance test for bounding rect estimation
2019-01-18 15:50:21 +03:00
Alexander Alekhin
ca00c1dce2
Merge pull request #13631 from terfendail:thresh_wintr
2019-01-16 15:45:26 +00:00
berak
53c2ebf7f6
fix openvx wrappers
2019-01-16 12:10:22 +01:00
Alexander Alekhin
133eb8d13a
Merge pull request #13593 from brad-kelly:integral_avx512_ver34
2019-01-15 17:47:21 +00:00
Vitaly Tuzov
a202dc9a90
threshold() reworked to use wide universal intrinsics
2019-01-15 19:15:19 +03:00
Alexander Alekhin
0e9c90a0d9
Merge pull request #13610 from terfendail:morph_wintr
2019-01-15 11:22:00 +00:00
Brad Kelly
0165ffa90d
Implementing AVX512 support for 3 channel cv::integral for CV_64F
2019-01-14 16:11:01 -08:00
Vitaly Tuzov
012e43de4b
Morphology reworked to use wide universal intrinsics
2019-01-14 19:02:58 +03:00
Vitaly Tuzov
ea882d58c6
Added CV_ALWAYS_INLINE macro
2019-01-11 22:40:35 +03:00
Alexander Alekhin
7e2ebecd52
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-01-10 12:29:41 +03:00
catree
d745af6763
Add Matplotlib Perceptually Uniform Sequential colormaps (viridis, plasma, inferno, magma, cividis, twilight and twilight shifted).
2019-01-06 22:48:06 +01:00
Alexander Alekhin
85ade61ef7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-12-27 18:15:50 +03:00
Vitaly Tuzov
7beb24553a
Speedup filter2d by loop unrolling
...
Added filter2d tests for 16S
2018-12-25 14:40:48 +03:00
Alexander Alekhin
1dee705074
Merge branch '3.4' into merge-3.4
2018-12-22 05:40:15 +00:00
Alexander Alekhin
c0e11bb50e
imgproc: revert "Speedup filter2d by loop unrolling"
...
Commit: 124011c321
PR: https://github.com/opencv/opencv/pull/13392
Sobel filter with 16S/16U datatype is broken.
2018-12-22 05:37:29 +00:00
Alexander Alekhin
26c5b846e6
Merge pull request #13392 from terfendail:filter_wintr
2018-12-21 11:00:44 +00:00
Vitaly Tuzov
124011c321
Speedup filter2d by loop unrolling
2018-12-20 21:18:42 +03:00
Vitaly Tuzov
131c09cf76
Fixed medianBlur implementation for hi-resolution images
2018-12-19 18:05:42 +03:00
Vitaly Tuzov
06f32e3b3e
Reworked separable filter to use wide universal intrinsics
2018-12-19 17:50:09 +03:00
Alexander Alekhin
7fb70e1701
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-12-18 19:07:43 +00:00
vishwesh5
3eb2c940de
Fix Scharr and Sobel functions
...
Resolves #13375
2018-12-17 20:39:22 +05:30
Rostislav Vasilikhin
493611ace5
Merge pull request #13440 from savuor:rgb_wide
...
* conversions of color_rgb.cpp vectorized
* CL impl: coeffs updated
* unused constants removed
* CUDA color coeffs updated
2018-12-17 17:22:38 +03:00
Rostislav Vasilikhin
d99a4af229
Merge pull request #13379 from savuor:color_5x5
...
RGB to/from Gray rewritten to wide intrinsics (#13379 )
* 5x5 to RGB added
* RGB25x5 added
* Gray2RGB added
* Gray2RGB5x5 added
* vx_set moved out of loops
* RGB5x52Gray added
* RGB2Gray written
* warnings fixed (int -> (u)short conversion)
* warning fixed
* warning fixed
* "i < n-vsize+1" to "i <= n-vsize"
* RGBA2mRGBA vectorized
* try to fix ARM builds
* fixed ARM build for RGB2RGB5x5
* mRGBA2RGBA: saturation, vectorization
* fixed CL implementation of mRGBA2RGBA (saturation added)
2018-12-14 17:01:01 +03:00
Alexander Alekhin
0c16d8f6c3
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-12-13 15:12:26 +03:00
Vitaly Tuzov
3903174f7c
Merge pull request #13334 from terfendail:histogram_wintr
...
* added performance test for compareHist
* compareHist reworked to use wide universal intrinsics
* Disabled vectorization for CV_COMP_CORREL and CV_COMP_BHATTACHARYYA if f64 is unsupported
2018-12-13 14:20:22 +03:00
Alexander Alekhin
e82e672a93
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-12-06 07:06:58 +00:00
Namgoo Lee
83c7dfb6a4
Fix error in LineIterator example code in doc
2018-12-05 11:31:19 +09:00
Alexander Alekhin
2e0150e601
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-12-03 18:38:27 +03:00
Alexander Alekhin
2d5ccc7b3e
imgproc(resize): update checks (static analyzers)
2018-12-03 13:13:48 +03:00
Alexander Alekhin
4e29e2fc7d
imgproc(test): fix resize bitexact test
...
- use "random" area on input image
- avoid duplicate cases
2018-11-30 16:38:07 +03:00
Alexander Alekhin
5ed7d5a5d9
imgproc: local "CV_Assert(totalSampleCount > 0)" check
2018-11-28 20:16:37 +00:00
Alexander Alekhin
b1064efb44
Merge pull request #13294 from terfendail:contours_wintr
2018-11-27 13:54:23 +00:00
Alexander Alekhin
83c8214b38
eliminate build warnings
2018-11-27 15:24:59 +03:00
Vitaly Tuzov
e991e05b9b
Added anonymous namespace to perf_contours
2018-11-27 11:35:40 +03:00
Alexander Alekhin
8f4e5c2fb8
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-11-26 15:37:45 +03:00
Alexander Alekhin
223893ea5a
Merge pull request #13242 from terfendail:contours_wintr
2018-11-26 12:29:31 +00:00
Vitaly Tuzov
e9e8bf4b81
Added performance tests for findContours
2018-11-21 19:57:02 +03:00
Vitaly Tuzov
e1a2c034e8
Updated findContours to use wide universal intrinsics
2018-11-21 19:57:02 +03:00
Alexander Alekhin
7fa7fa0226
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-11-21 08:33:39 +00:00
Alexander Alekhin
f6ee03471d
imgproc: use Matx23d as result type of getRotationMatrix2D() call
2018-11-18 09:02:40 +00:00
Alexander Alekhin
a574788e89
move legacy C-API constants into separate files
2018-11-17 23:47:51 +00:00
Alexander Alekhin
22dbcf98c5
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-11-17 14:17:35 +00:00
Vitaly Tuzov
9ad1a84853
Unrolled bilateral filter neighbor processing loop
2018-11-16 13:51:46 +03:00
Vitaly Tuzov
f5b6bea2d4
Raised bilateralFilter processing precision for CV_32F matrices containing NaNs
2018-11-16 12:07:04 +03:00
Alexander Alekhin
1c04a5ec47
Merge pull request #12965 from terfendail:medianBlur_wintr
2018-11-16 00:47:11 +00:00
Alexander Alekhin
8409aa9eba
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-11-14 19:41:09 +00:00
Alexander Alekhin
42742727d6
imgproc(ocl): fix morph generic filter checks
...
'ksize' is not updated with 'kernel'
2018-11-14 20:15:01 +03:00
Alexander Alekhin
1913482cf5
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-11-10 20:50:26 +00:00
Vitaly Tuzov
2dd98e7cc6
bilateralFilter implementation moved to separate file
2018-11-09 18:26:26 +03:00
Vadim Pisarevsky
841741aa52
significantly reduced OpenCV binary size by disabling IPP in some funcs ( #13085 )
...
* significantly reduced OpenCV binary size by disabling IPP calls in some OpenCV functions: Sobel, Scharr, medianBlur, GaussianBlur, filter2D, mean, meanStdDev, norm, sum, minMaxIdx, sort.
* re-enable IPP in norm, since it's much faster (without adding too much space overhead)
2018-11-09 17:39:29 +03:00
Vadim Pisarevsky
8f15a609af
mostly removed obsolete C API from calib3d (at least at the interface level) ( #13081 )
2018-11-09 16:12:22 +03:00
Vitaly Tuzov
28fd967148
Updated bilateralFilter implementations to use wide universal intrinsics
2018-11-09 15:27:30 +03:00
Vadim Pisarevsky
11eafca3e2
removed C API in the following modules: photo, video, imgcodecs, videoio ( #13060 )
...
* removed C API in the following modules: photo, video, imgcodecs, videoio
* trying to fix various compile errors and warnings on Windows and Linux
* continue to fix compile errors and warnings
* continue to fix compile errors, warnings, as well as the test failures
* trying to resolve compile warnings on Android
* Update cap_dc1394_v2.cpp
fix warning from the new GCC
2018-11-09 00:52:09 +03:00
tompollok
2da56d5af6
refactoring catching all exceptions as const ref
2018-11-08 19:59:47 +03:00
Alexander Alekhin
b74b05d1b3
Revert CV_TRY/CV_CATCH macros
...
This reverts commit 7349b8f5ce
(partially).
2018-11-08 19:56:52 +03:00
Alexander Alekhin
777eaa7352
Merge pull request #13057 from sturkmen72:Mat_to_IOArray
2018-11-07 21:00:14 +00:00
Vitaly Tuzov
e5d7f446d6
Merge pull request #13056 from terfendail:box_wintr
...
* Updated boxFilter implementations to use wide universal intrinsics
* boxFilter implementation moved to separate file
* Replaced ROUNDUP macro with roundUp() function
2018-11-07 23:59:36 +03:00
Alexander Alekhin
4531f9f2f4
Merge pull request #13023 from terfendail:medianBlur_sep
2018-11-06 20:22:08 +00:00
Alexander Alekhin
2c6f1ab57d
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-11-06 20:04:31 +00:00
lqy123000
cceeca3052
Merge pull request #12916 from lqy123000:bugfix_templmatch
...
* avoid rounding errors
* imgproc: replace condition in matchTemplate
2018-11-06 19:13:48 +03:00
Suleyman TURKMEN
182f43b6f9
Update imgproc.hpp
2018-11-05 04:48:49 +03:00
Vitaly Tuzov
877de883b0
medianBlur() implementation moved to separate file
2018-11-02 16:28:23 +03:00
Vitaly Tuzov
0fda551dbc
Updated medianBlur implementations to use wide universal intrinsics
2018-11-02 12:26:23 +03:00
Alexander Alekhin
687fa6a8ca
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-11-02 05:33:35 +00:00
Vadim Pisarevsky
0f622206e4
completely new C++ persistence implementation ( #13011 )
...
* integrated the new C++ persistence; removed old persistence; most of OpenCV compiles fine! the tests have not been run yet
* fixed multiple bugs in the new C++ persistence
* fixed raw size of the parsed empty sequences
* [temporarily] excluded obsolete applications traincascade and createsamples from build
* fixed several compiler warnings and multiple test failures
* undo changes in cocoa window rendering (that was fixed in another PR)
* fixed more compile warnings and the remaining test failures (hopefully)
* trying to fix the last little warning
2018-11-02 00:27:06 +03:00
Suleyman TURKMEN
4d0ed5c13c
Merge pull request #12971 from sturkmen72:upd_imgproc_hpp
...
* Update imgproc.hpp
* update color conversion codes
2018-10-31 18:08:24 +03:00
Rostislav Vasilikhin
fa91d621fa
Merge pull request #12876 from savuor:color_rgb2rgb_wide
...
* RGB2RGB initially rewritten
* NEON impl removed
* templated version added for ushort, float
* data copying allowed for RGB2RGB
* inplace processing fixed
* fields to local vars
* no zeroupper until it's fixed
* vx_cleanup() added back
2018-10-30 18:36:23 +03:00
Alexander Alekhin
50bec53afc
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-26 17:56:55 +03:00
Maksim Shabunin
0ccd810738
Fixed several issues found by static analysis
2018-10-25 10:45:59 +03:00
maver1
e397434cb6
Merge pull request #12877 from maver1:3.4
...
* Updated ICV packages and IPP integration
* core(test): minMaxIdx IPP regression test
* core(ipp): workaround minMaxIdx problem
* core(ipp): workaround meanStdDev() CV_32FC3 buffer overrun
* Returned semicolon after CV_INSTRUMENT_REGION_IPP()
2018-10-24 15:02:53 +03:00
Vadim Pisarevsky
ea31c09384
rewrote the line segment intersection function to make the static analyzer happy ( #12902 )
...
* rewrote the line segment intersection function to make the static analyzer happy
* fixed bug with improper "no intersection" detection in some of corner cases
* fixed bug with improper "no intersection" detection in some of corner cases
2018-10-23 17:09:23 +03:00
Alexander Alekhin
9c23f2f1a6
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-20 11:37:54 +00:00
Michał Janiszewski
c8e6ce304f
Catch exceptions by const-reference
...
Exceptions caught by value incur needless cost in C++, most of them can
be caught by const-reference, especially as nearly none are actually
used. This could allow compiler generate a slightly more efficient code.
2018-10-16 22:43:54 +02:00
Alexander Alekhin
edacd91a27
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-15 20:15:42 +00:00
Alexander Alekhin
1cc3f7abbb
Merge pull request #12516 from seiko2plus:changeUnvMultiply16
2018-10-15 12:07:40 +00:00
tompollok
0b77600718
change area() emptiness checks to empty()
2018-10-13 21:35:10 +02:00
Alexander Alekhin
5115e5decb
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-13 16:19:05 +00:00
Alexander Alekhin
0d63c4c28e
Merge pull request #12811 from take1014:resize_large_image
2018-10-12 16:59:25 +00:00
take1014
24af70c7e0
resolves 11283
2018-10-12 23:08:25 +09:00
Alexander Alekhin
1ed9ff17e1
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-12 10:05:55 +00:00
Sayed Adel
9dc1d388af
imgproc: Enable VSX on pyrDown & pyrUp
2018-10-11 23:03:57 +00:00
Alexander Alekhin
53785b6ac6
Merge pull request #12784 from terfendail:pyramids_wintr
2018-10-11 19:26:36 +00:00
Alexander Alekhin
2332fb852d
Merge pull request #12748 from terfendail:resize_wintr2
2018-10-11 19:26:17 +00:00
Sayed Adel
8965f3ae06
imgproc:simd Enable VSX and wide universal intrinsics for accumulate operations
...
- improve cpu dispatching calls to allow more SIMD extentions
(SSE4.1, AVX2, VSX)
- wide universal intrinsics
- replace dummy v_expand with v_expand_low
- replace v_expand + v_mul_wrap with v_mul_expand for product accumulate operations
- use FMA for accumulate operations
- add mask and more types to accumulate's performance tests
2018-10-11 04:37:12 +02:00
Sayed Adel
5771fd693d
Change behaviour of 16-bit multiply operator
...
- redefine 16-bit multiply operator to perform saturating multiply
instead of non-saturating multiply
- implement 8-bit multiply operator to perform saturating multiply
- implement v_mul_wrap() for 8-bit, 16-bit non-saturating multiply
- improve performance of v_mul_hi() for VSX
- update intrin tests with new changes
- replace unv 16-bit multiplication operator with v_mul_wrap due behavior changes
- Several improvements depend on vpisarev review
* initial forward declarations for universal intrinsics
* move emulating SSE intrinsics into separate file
* implement v_mul_expand for 8-bit
* reimplement saturating multiply using v_mul_expand + v_pack
* map v_expand, v_load_expand, v_load_expand_q to sse4.1
* fix overflow avx2::v_pack(uint32)
* implement two universal intrinsics v_expand_low and v_expand_high
2018-10-11 04:35:39 +02:00
Vitaly Tuzov
cc10e6b344
pyrDown and pyrUp SSE2 implementations replaced with wide universal intrinsics implementations
2018-10-10 21:12:47 +03:00
Alexander Alekhin
dada5a422d
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-09 21:20:15 +00:00
Apoorv Goel
b8aa0cddab
Merge pull request #12777 from UnderscoreAsterisk:document-cvtColorTwoPlane
...
* Add documentation for cvtColorTwoPlane
* Change brief and add links
2018-10-09 15:49:17 +03:00
Vitaly Tuzov
9d602f2752
Replaced SSE2 area resize implementation with wide universal intrinsic implementation
2018-10-08 16:27:52 +03:00
Alexander Alekhin
8f1f4273a2
calib3d: move undistort files from imgproc
2018-10-05 07:52:21 +00:00
Vitaly Tuzov
6b84990620
integral() implementation updated to utilize wide universal intrinsics
2018-10-01 17:25:43 +03:00
Suleyman TURKMEN
8eb987e393
Update findContours parameter type
2018-09-28 18:42:48 +03:00
Pavel Rojtberg
d1c842cf29
core: fix printf warnings by using c++11 format
2018-09-24 11:31:40 +03:00
Alexander Alekhin
e6171d17f8
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-18 12:49:52 +03:00
Alexander Alekhin
70f38b4dfa
Merge pull request #12510 from take1014:doc_hough
2018-09-17 21:39:12 +03:00
Gaetano Checinski
e628fd7bce
Merge pull request #12503 from nikhedonia:12500-move-gcgraph
...
* feat: move gcgraph to detail
* chore: puts gcgraph cv::detail namespace
2018-09-17 20:13:47 +03:00
Alexander Alekhin
808ba552c5
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-14 23:44:35 +00:00
Alexander Alekhin
92ec971453
Merge pull request #12526 from terfendail:avx2_resize_fix
2018-09-14 15:57:47 +00:00
Hamdi Sahloul
5d54def264
Add semicolons after CV_INSTRUMENT
macros
2018-09-14 06:45:31 +09:00
Vitaly Tuzov
29770e13e8
Fixed bit-exact resize SIMD implementation for AVX2 baseline
2018-09-13 18:20:27 +03:00
Mark Harfouche
095b0d3272
Fix BayerXX2RGBA when blue is on the first line.
2018-09-12 16:06:44 -04:00
take1014
57ae3ac7a2
fix document about HoughLines
2018-09-12 22:18:30 +09:00
Alexander Alekhin
dca657a2fd
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-10 00:10:21 +03:00
Mark Harfouche
53bbed89ae
Output RGBA images when bayer_xx2YYYA is called
2018-09-07 16:03:04 -04:00
Hamdi Sahloul
a39e0daacf
Utilize CV_UNUSED macro
2018-09-07 20:33:52 +09:00
Alexander Alekhin
73bfe68821
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-07 12:40:27 +03:00
Alexander Alekhin
bd98ed46bd
Merge pull request #12446 from alalek:imgproc_grabcut_numeric_issues
2018-09-06 20:18:45 +00:00
Alexander Alekhin
24e72e151a
imgproc: grabcut numeric stability
2018-09-06 17:05:54 +03:00
Alexander Alekhin
8a3c394d6a
don't use constructors for C API structures
2018-09-06 14:34:16 +03:00
Alexander Alekhin
ad146e5a6b
core: remove constructors from C API structures
...
POD structures can't have constructors.
2018-09-06 14:34:09 +03:00
Rostislav Vasilikhin
da7e1cfb49
Merge pull request #12279 from savuor:cvtcolor_bgr2gray_8u_15bits
...
* bgr2gray 8u fixed to be in conformance with IPP code
* coefficients fixed so their sum is 32768
* java test for CascadeDetect fixed: equalizeHist added
2018-09-06 13:28:24 +03:00
Alexander Alekhin
43b64140ae
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-05 19:54:09 +03:00
Alexander Alekhin
e70526625f
imgproc: fix Subdiv2D::getTriangleList()
2018-09-05 16:24:27 +03:00
Alexander Alekhin
d74b98c3d9
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-04 18:39:03 +00:00
Alexander Alekhin
7f7f30a08b
Merge pull request #12406 from alalek:backport_12357_12391
2018-09-04 16:09:44 +00:00
Alexander Alekhin
fda99c1c6c
Merge pull request #12394 from alalek:imgproc_GaussianBlur_allow_HAL_8U
2018-09-04 15:16:08 +00:00
Alexander Alekhin
acce95f446
backport fixes for static analyzer warnings
...
Commits:
- 09837928d9
- 10fb88d027
Excluded changes with std::atomic (C++98 requirement)
2018-09-04 16:49:42 +03:00
cyy
10fb88d027
Merge pull request #12391 from DEEPIR:master
...
fix some errors found by static analyzer. (#12391 )
* fix possible divided by zero and by negative values
* only 4 elements are used in these arrays
* fix uninitialized member
* use boolean type for semantic boolean variables
* avoid invalid array index
* to avoid exception and because base64_beg is only used in this block
* use std::atomic<bool> to avoid thread control race condition
2018-09-04 16:39:19 +03:00
Vitaly Tuzov
f9a5c4d181
Fixed bit-exact resize wide intrinsics implementation for 16U
2018-09-03 20:37:25 +03:00
Alexander Alekhin
1e362ff5c3
imgproc(GaussianBlur): restore processing order
2018-09-03 18:39:42 +03:00
Vadim Pisarevsky
fc71316690
Merge pull request #12371 from alalek:issue_12366
2018-09-03 14:30:16 +00:00
yuki takehara
cb7ee27cd9
Fix bug in distanceTransform ( #12278 )
...
* fix 12218
* Update test_distancetransform.cpp
marked the test as "BIGDATA_TEST" in order to skip it on low-mem platforms
* modify test
* use a smaller image in the test
* fix test code
2018-09-03 17:18:10 +03:00
cyy
09837928d9
Merge pull request #12357 from DEEPIR:master
...
* fix some static analyzer warnings
* fix some static analyzer warnings
* fix race condition of workthread control
2018-09-02 16:34:43 +03:00
Alexander Alekhin
0f9f2696be
imgproc: small code refactoring (findContours -> l_cinfo)
2018-09-01 12:58:40 +00:00
Alexander Alekhin
65a0587ce8
imgproc(segmentation): don't increase mask NULL pointer
...
Avoid manual address arithmetic
2018-09-01 12:38:57 +00:00
Vitaly Tuzov
0f2b535fcc
Bit-exact GaussianBlur reworked to use wide intrinsics ( #12073 )
...
* Bit-exact GaussianBlur reworked to use wide intrinsics
* Added v_mul_hi universal intrinsic
* Removed custom SSE2 branch from bit-exact GaussianBlur
* Removed loop unrolling for gaussianBlur horizontal smoothing
2018-08-31 17:04:59 +03:00
Vitaly Tuzov
e345cb03d5
Bit-exact resize reworked to use wide intrinsics ( #12038 )
...
* Bit-exact resize reworked to use wide intrinsics
* Reworked bit-exact resize row data loading
* Added bit-exact resize row data loaders for SIMD256 and SIMD512
* Fixed type punned pointer dereferencing warning
* Reworked loading of source data for SIMD256 and SIMD512 bit-exact resize
2018-08-31 16:54:05 +03:00
Jakub Golinowski
9f1218b00b
Merge pull request #11897 from Jakub-Golinowski:hpx_backend
...
* Add HPX backend for OpenCV implementation
Adds hpx backend for cv::parallel_for_() calls respecting the nstripes chunking parameter. C++ code for the backend is added to modules/core/parallel.cpp. Also, the necessary changes to cmake files are introduced.
Backend can operate in 2 versions (selectable by cmake build option WITH_HPX_STARTSTOP): hpx (runtime always on) and hpx_startstop (start and stop the backend for each cv::parallel_for_() call)
* WIP: Conditionally include hpx_main.hpp to tests in core module
Header hpx_main.hpp is included to both core/perf/perf_main.cpp and core/test/test_main.cpp.
The changes to cmake files for linking hpx library to above mentioned test executalbles are proposed but have issues.
* Add coditional iclusion of hpx_main.hpp to cpp cpu modules
* Remove start/stop version of hpx backend
2018-08-31 16:23:26 +03:00
Vadim Pisarevsky
bab4f4f5d8
Merge pull request #12348 from take1014:subdiv_getTriangleList_5788
2018-08-31 13:01:16 +00:00
Alexander Alekhin
90f47eb952
Merge pull request #12234 from cv3d:python/cuda/wrapping_functionalities
2018-08-30 20:23:38 +00:00
take1014
e1ee744e15
resolve #5788
2018-08-31 00:59:00 +09:00
Hamdi Sahloul
532eace7d6
Extensive wrapping of CUDA functionalities for Python
2018-08-30 22:50:33 +09:00
Vadim Pisarevsky
258a769567
Merge pull request #12327 from take1014:distanceTransform_type
2018-08-30 13:12:08 +00:00
take1014
1ae477a46d
fix typo
2018-08-28 22:14:47 +09:00
Suleyman TURKMEN
6d165dae5e
related moved enums
2018-08-27 00:43:04 +03:00
Suleyman TURKMEN
d8cd1d8fcc
Merge pull request #12246 from sturkmen72:move_enums
...
* Update core.hpp
* Update imgproc.hpp
* Update ImgprocTest.java
* Update CameraCalibrator.java
* Update OnCameraFrameRender.java
* Update FindContoursDemo.java
* Update IntroductionToSVMDemo.java
* Update NonLinearSVMsDemo.java
* Update IntroductionToPCADemo.java
* Update Smoothing.java
* Update MainActivity.java
* Update CalcBackProjectDemo1.java
* Update CornerSubPixDemo.java
* Update CornerDetectorDemo.java
* Update GoodFeaturesToTrackDemo.java
2018-08-24 11:11:34 +03:00
Alexander Alekhin
7d4bb9428b
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-20 19:30:18 +03:00
Alexander Alekhin
e593d5bbc5
Merge pull request #12255 from csukuangfj:patch_5
2018-08-20 13:47:41 +00:00
Kuang Fangjun
ab8ba047a5
fix a typo.
2018-08-20 15:52:18 +08:00
Kuang Fangjun
cecc19381f
fix an error in the formula for cv::cornerSubPix
2018-08-20 15:49:35 +08:00
Alexander Alekhin
31fef14d76
Merge pull request #12136 from sturkmen72:update_documentation
2018-08-17 14:02:20 +00:00
Suleyman TURKMEN
c61bc3a0cb
Update documentation and samples
2018-08-17 14:21:29 +03:00
Alexander Alekhin
98c5ce9347
imgproc(test): refactor test_intersection.cpp
...
don't use legacy test API
2018-08-16 15:27:24 +03:00
Alexander Alekhin
f89defad5d
imgproc: fix rotatedRectangleIntersection()
2018-08-16 15:27:24 +03:00
Bahram Dahi
96f92c6705
imgproc(tests): intersetion calculation of RotatedRect
2018-08-16 15:00:01 +03:00
Alexander Alekhin
e76b375a31
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-13 18:57:57 +03:00
Alexander Alekhin
f16f818f5f
Merge pull request #12184 from alalek:issue_12163
2018-08-08 20:50:54 +00:00
Alexander Alekhin
a0cff0be94
imgproc(cvtColor): slightly improve error messages
...
Do not try to process empty inputs.
2018-08-08 17:16:42 +03:00
Alexander Alekhin
b00758babe
imgproc(cvtColor): temporary disable IPP for 8U GRAY2BGR mode
...
Details 12176
2018-08-08 13:58:45 +03:00
Alexander Alekhin
4eb2966559
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-07 20:12:10 +03:00
tompollok
061149cbbd
imgproc: update cornerSubPix documentation
2018-08-02 18:00:43 +02:00
CJ Smith
da41ac9e60
Merge pull request #12106 from CJSmith-0141:warpPerspective_typofix
...
* Fixes typo in function name hal::warpPerspective.
* Fixes remaining typos in word Perspective (was Perspectve).
2018-08-01 14:41:20 +03:00
Alexander Alekhin
82c477c9f7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-31 21:35:00 +03:00
Kuang Fangjun
83039c8752
fix a typo.
2018-07-30 18:18:18 +08:00
Alexander Alekhin
d044ac1c66
imgproc(getPerspectiveTransform): add solveMethod parameter
...
drop compatibility workaround via runtime parameter
2018-07-26 18:22:59 +03:00
Alexander Alekhin
9787ab598b
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-24 22:48:54 +03:00
Maksim Shabunin
cbb1e867e5
More issues found by static analysis
2018-07-24 16:04:42 +03:00
Maksim Shabunin
e0603bb45f
Fixed several issues found by static analysis tools
2018-07-23 17:22:47 +03:00
Alexander Alekhin
4560909a5e
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-17 19:27:48 +03:00
Alexander Alekhin
f3ee07ca11
Merge pull request #11986 from alalek:build_eliminate_gcc8_warnings
2018-07-17 15:41:36 +00:00
Maksim Shabunin
c473718bc2
Check for empty Mat in compare, operator= and RNG::fill, fixed related tests
2018-07-17 17:50:50 +03:00
Maksim Shabunin
1da46fe6fb
Fixed issues found by static analysis (mostly DBZ)
2018-07-17 16:14:54 +03:00
Alexander Alekhin
d5951bc033
build: eliminate GCC8 warnings
2018-07-16 17:24:12 +03:00
Alexander Alekhin
0155851929
imgproc(getPerspectiveTransform): add configuration parameter
2018-07-13 15:31:33 +03:00
Alexander Alekhin
71c6cb9c22
imgproc(getPerspectiveTransform): solve(DECOMP_SVD -> LU)
2018-07-13 15:31:33 +03:00
Alexander Alekhin
2170811e48
imgproc(perf): update getPerspectiveTransform perf test
...
Function is very fast, so 0.000 ms results are useless.
1000 runs requires 25ms on i7-6700K.
2018-07-13 15:31:33 +03:00
Alexander Alekhin
2da96be217
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-09 19:44:51 +03:00
Alexander Alekhin
b09a4a98d4
opencv: Use cv::AutoBuffer<>::data()
2018-07-04 19:11:29 +03:00
Alexander Alekhin
0d6518aaa0
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
...
OpenCV FFmpeg wrapper download links are preserved from ffmpeg/master branch
2018-06-13 19:34:44 +03:00
gnthibault
b46fef327e
Fixed Assertin error due to Size.area() overflowing
2018-06-08 11:22:36 +02:00
Vadim Pisarevsky
5e5d997dff
Merge pull request #11620 from terfendail:hmmorph_fix
2018-06-07 11:19:21 +00:00
Vitaly Tuzov
2e22f8e790
Fix for morphologyEx MORPH_HITMISS mode
2018-06-06 21:04:17 +03:00
Alexander Alekhin
45dd575ed2
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
...
Revert "documentation: avoid links to 'master' branch from 3.4 maintenance branch"
This reverts commit 9ba9358ecb
.
Revert "documentation: avoid links to 'master' branch from 3.4 maintenance branch (2)"
This reverts commit f185802489
.
2018-06-04 19:26:10 +03:00
Alexander Alekhin
6912c20380
Merge pull request #11659 from take1014:snippet_11597
2018-06-01 16:48:10 +00:00
take1014
4ec9afac57
add imgproc snippets
2018-06-01 23:42:00 +09:00
Vadim Pisarevsky
d734e83af0
Hsv2rgb univ intrin ( #11637 )
...
* add universal intrinsics for HSV2RGB_b
* rewritten HSV2RGB_b without using extra universal intrinsics
* removed unused variable
* undo changes in v_load_deinterleave
2018-05-31 21:59:45 +03:00
Alexander Alekhin
0349e8c9af
Merge pull request #11608 from take1014:hist_11544
2018-05-31 16:44:02 +00:00
Vadim Pisarevsky
7d19bd6c19
Merge pull request #11634 from vpisarev:empty_mat_with_types_2
...
fixes handling of empty matrices in some functions (#11634 )
* a part of PR #11416 by Yuki Takehara
* moved the empty mat check in Mat::copyTo()
* fixed some test failures
2018-05-31 16:36:39 +00:00
take1014
229e8b1b18
Correct handling when IPP is enabled
2018-05-31 22:54:32 +09:00
Alexander Alekhin
0f298a4203
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-05-28 11:22:55 +00:00
yuki takehara
ed207d79e7
Merge pull request #11108 from take1014:hough_4303
...
* Added accumulator value to the output of HoughLines and HoughCircles
* imgproc: refactor Hough patch
- eliminate code duplication
- fix type handling, fix OpenCL code
- fix test data generation
- re-generated test data in debug mode via plain CPU code path
2018-05-23 20:42:12 +00:00
yuki takehara
2d5d98ec0f
Merge pull request #11551 from take1014:filter2d_10683
...
* Add arguments to dftFilter2D
* test: add expected test values
2018-05-23 20:25:11 +00:00
Alexander Alekhin
471c17321f
improve code quality
...
- eliminate rand() calls
- non initialized members/ variables
- unused return values
- missing/useless NULL checks
2018-05-22 17:08:31 +03:00
Alexander Alekhin
db88cd1b25
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-05-21 16:20:14 +03:00
Alexander Alekhin
085b27fc3d
Merge pull request #11390 from dkurt:east_text_detection
2018-05-21 13:02:29 +00:00
shengyu
72d3e14e8f
fix wrong indentation on github page (tab to space)
2018-05-19 11:23:51 +08:00
Dmitry Kurtaev
07dc6d2b45
Return a convex hull from rotatedRectangleIntersection
2018-05-18 14:20:17 +03:00
Alexander Alekhin
703f79b757
tests: add "bigdata" tests
2018-05-15 15:56:26 +03:00
Vadim Pisarevsky
e0dbe5cfcc
handle huge matrices correctly ( #11505 )
...
* make sure that the matrix with more than INT_MAX elements is marked as non-continuous, and thus all the pixel-wise functions process it correctly (i.e. row-by-row, not as a single row, where integer overflow may occur when computing the total number of elements)
2018-05-14 15:29:14 +03:00
Alexander Alekhin
51e543050c
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-05-10 18:19:56 +03:00
Vadim Pisarevsky
9e3b6a228a
Merge pull request #11418 from K-Shinotsuka:issue42
2018-05-10 15:15:04 +00:00
Vadim Pisarevsky
566cb5e3d8
Merge pull request #11430 from K-Shinotsuka:issue43
2018-05-10 15:14:39 +00:00
k-shinotsuka
ecb4ea8f76
add universal intrinsics for RGB2HSV_f
2018-05-04 00:58:46 +09:00
k-shinotsuka
a5f68e98f4
add universal intrinsics for HLS2RGB_f
2018-05-03 23:50:38 +09:00
Alexander Alekhin
000a13b6a3
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-05-03 14:30:38 +00:00
Tomoaki Teshima
87a4f4ab3a
Merge pull request #11409 from tomoaki0705/fixCLAHEfailure
...
Arm: fix the test failure of OCL_Imgproc/CLAHETest.Accuracy on ODROID-XU4 (#11409 )
* fix the test failure of OCL_Imgproc/CLAHETest.Accuracy on ODROID-XU4
* avoid the race condition in the reduce
* imgproc(ocl): simplify CLAHE code
* remove unused class
2018-04-27 16:41:56 +03:00
Alexander Alekhin
9166e6052b
imgproc: fixed fixedpoint coding style
...
- fixed wrong condition (always true)
- replaced unnecessary shift operation: '>> 63' to '< 0'
- used CV_BIG_INT()/CV_BIG_UINT() macros
2018-04-25 17:33:57 +03:00
Alexander Alekhin
469dc6ac42
imgproc: fix fixed point build
...
avoid using of templated 'operator T ()'
2018-04-25 16:34:44 +03:00
Alexander Alekhin
cd2b188c9a
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-04-24 18:13:06 +03:00
Alexander Alekhin
6b581c4e51
build: unreachable code after CV_Error() (part 2)
2018-04-24 16:03:40 +03:00
Alexander Alekhin
4d7d630e92
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-04-23 18:45:02 +03:00
Alexander Alekhin
f659f80c7f
Merge pull request #11374 from lupustr3:pvlasov/morph_big_fix
2018-04-23 09:14:23 +00:00
Pavel Vlasov
a42789f330
IPP morphology with big images hotfix.
2018-04-23 10:50:20 +03:00
Alexander Alekhin
c8b515ea69
Merge pull request #11315 from tomoaki0705:featureComparePixelCount
2018-04-20 14:50:40 +00:00
Alexander Alekhin
12e8e33144
build: enable -Wimplicit-fallthrough warning for OpenCV modules
2018-04-19 19:54:03 +03:00
Vadim Pisarevsky
7ea5029ae5
Grabcut with frozen models ( #11339 )
...
* model is not learned when grabcut is called with GC_EVAL
* fixed test, was writing to wrong file.
* modified patch by Iwan Paolucci; added GC_EVAL_FREEZE_MODEL in addition to GC_EVAL (which semantics is retained)
2018-04-19 15:23:50 +03:00
Alexander Alekhin
ad2127765f
Merge pull request #11309 from K-Shinotsuka:issue41
2018-04-19 10:58:00 +00:00
Tomoaki Teshima
98d9369a38
add new comparison to tolerate with rounding error
...
* restore resize of carotene
* clean up the source code
* remove unused member function (Near)
* add strict test on the border
2018-04-19 17:31:42 +09:00
Vadim Pisarevsky
b8b7ca7302
Rewite polar transforms ( #11323 )
...
* Rewrite polar transformations
- A new wrapPolar function encapsulate both linear and semi-log remap
- Destination size is a parameter or calculated automatically to keep objects size between remapping
- linearPolar and logPolar has been deprecated
* Fix build warning and error in accuracy test
* Fix function name to warpPolar
* Explicitly specify the mapping mode, so we retain all the parameters as non-optional.
Introduces WarpPolarMode enum to specify the mapping mode in flags
* resolves performance warning on windows build
* removed duplicated logPolar and linearPolar implementations
2018-04-17 15:50:52 +03:00
k-shinotsuka
b3755ae670
add universal intrinsics for RGB2HLS_f
2018-04-17 19:37:36 +09:00
Alexander Alekhin
59b413c8a1
imgproc(ipp): disable parallel GaussianBlur
2018-04-16 13:31:52 +03:00
Alexander Alekhin
4b2d1aaeea
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-04-16 12:41:47 +03:00
Alexander Alekhin
7e5581cd86
Merge pull request #11286 from sturkmen72:update_rectangle
2018-04-13 13:38:50 +00:00
Alexander Alekhin
cfaca4327b
Merge pull request #11169 from tomoaki0705:universalRemap
2018-04-13 13:24:06 +00:00
Alexander Alekhin
a2d6ee2d31
Merge pull request #11305 from tomoaki0705:typoNVIDIA
2018-04-13 12:56:42 +00:00
Tomoaki Teshima
a82e70cd40
remove raw SSE2/NEON implementation from imgwarp.cpp
...
* use universal intrinsic instead of raw intrinsic
* add 2 channels de-interleave on x86 platform
* add v_int32x4 version of v_muladd
* add accumulate version of v_dotprod based on the commit from seiko2plus on bf1852d
* remove some verify check in performance test
* avoid the out of boundary access and keep the performance
2018-04-13 21:19:16 +09:00
Tomoaki Teshima
a40354d16f
use correct name for NVIDIA
...
* remove NVidia and Nvidia
* replace Cuda with CUDA
* keep the letters for API
2018-04-13 20:33:19 +09:00
Suleyman TURKMEN
8b6a6d4546
Update the function rectangle
2018-04-12 14:55:04 +03:00
Vitaly Tuzov
c80a168d9d
Updated warpAffine test to ensure bit-exactness for CV_8U ( #10921 )
...
* Updated warpAffine test to ensure bit-exactness for CV_8U
* Updated invertAffineTransform to bit-exact evaluation
2018-04-11 18:08:29 +03:00
Vitaly Tuzov
62cf71002e
Bit-exact GaussianBlur performance update ( #10898 )
...
* Added custom implementation for NxN bit-exact GaussianBlur
* Reworked fixedpoint interface a bit
* Reworked horizontal line estimation for bit-exact GaussianBlur
* Reworked vertical line estimation for bit-exact GaussianBlur
* Updated range estimation for vectorized part of bit-exact GaussianBlur evaluation
2018-04-11 18:07:48 +03:00
Alexander Alekhin
5b17a60dde
next: drop HAVE_TEGRA_OPTIMIZATION/TADP
2018-04-10 18:09:54 +03:00
Alexander Alekhin
98c8584b88
next: drop CV_CXX11 conditions
...
define itself is still here for compatibility
2018-04-10 18:09:54 +03:00
Alexander Alekhin
2b2fa58f97
next: drop DISABLE_OPENCV_24_COMPATIBILITY
2018-04-10 18:09:53 +03:00
Alexander Alekhin
d2d9fd6945
build: fix MSVS build problems
...
with 'CL=/permissive-'
2018-04-10 14:50:56 +03:00
shimat
68db42e9be
fix LSD test (wrong detector kind)
2018-04-10 11:38:35 +09:00
Alexander Alekhin
b76ce0e0a4
Merge pull request #11253 from mshabunin:decrease-tbb-dependency
2018-04-09 16:03:34 +00:00
shimat
e172935658
LSD: support vector<Vec4i> lines ( #11042 )
...
* add LSD supportsVec4iResult
* LineSegmentDetector.drawSegments: support vector<Vec4i>
* test_lsd.cpp: replace detect()
* test_lsd.cpp: add compareSegments tests
* lsd.cpp: LSD.compareSegments support Vec4i
* test_lsd.cpp: fix trailing whitespace
2018-04-09 17:31:56 +03:00
Vadim Pisarevsky
20334e3f09
Merge pull request #11264 from K-Shinotsuka:issue39
2018-04-09 13:20:48 +00:00
k-shinotsuka
fbdcc0e8e4
add universal intrinsics for HSV2RGB_f
2018-04-08 01:47:22 +09:00
Alexander Alekhin
15837b43ca
imgproc: don't call .unlock() on non-holded mutex in houghCircles()
2018-04-07 13:00:17 +00:00
Maksim Shabunin
b88609a921
Reduced direct TBB dependencies
2018-04-06 14:21:15 +03:00
Alexander Alekhin
7f63b31ca8
avoid calling of setNumThreads() to respect user settings
2018-03-29 13:04:26 +03:00
Alexander Alekhin
8a0cc5009e
build: eliminate MSVC warning
2018-03-28 18:43:28 +03:00
Alexander Alekhin
5d36ee2fe7
imgproc: apply CV_OVERRIDE/CV_FINAL
2018-03-28 17:57:59 +03:00
Alexander Alekhin
7f9253ea0a
samples: avoid using of legacy C-like API
...
- CV_RGB() macro is moved into opencv2/imgproc.hpp from imgproc_c.h
- samples/cpp/filestorage_base64.cpp is dropped
2018-03-26 13:42:35 +03:00
Tomoaki Teshima
06babf90a5
let the test OCL_ImgprocWarp/Resize.Mat pass on ARM/Aarch64
...
* disable carotenete when calling resize on ARM/Aarch64
* loosen eps on Aarch64
2018-03-22 21:35:34 +09:00
Alexander Alekhin
b390e86b12
Merge pull request #11124 from terfendail:minenctriangle_fix
2018-03-22 10:23:10 +00:00
Vitaly Tuzov
91c35a7d01
Updated handling of collinear edges while searching for intersection.
2018-03-21 19:15:34 +03:00
yuki takehara
41f8e788b2
Merge pull request #11083 from take1014:lsd_#9363
...
* Fix #9363
* Renamed the structure and added a new function to the LineSegmentDetectorImpl class as a static member
* Added a new function to the LineSegmentDetectorImpl class as a static member
2018-03-16 19:31:55 +03:00
Rostislav Vasilikhin
64916d3d83
Merge pull request #10869 from savuor:color_cpp_split
...
color.cpp split (#10869 )
* initial split is done
* files renamed (these names are excluded during compilation)
* IPP code moved to corresponding files
* splineBuild, splineInterpolate -> color_lab.cpp
* Lab, Luv: little refactored
* it compiles (didn't check work); Lab OCL code moved to color_lab.cpp
* cvtcolor.cl: Lab/Luv part moved to color_lab.cl
* cvtcolor.cl: color_rgb.cl extracted
* cvtcolor.cl: color_yuv.cl separated
* cvtcolor.cl: color_hsv.cl extracted
* cvtcolor.cl: extracted to color_lab.cl and color_rgb.cl
* helper functions moved to hpp file
* Lab, Luv: moved to color_lab.cpp
* CPU XYZ: to color_lab.cpp
* OCL XYZ: to color_lab.cpp
* warning fixed
* CvtHelper added
* CPU YUV: to color_yuv.cpp, helpers to color.hpp
* CPU HLS/HSV: to color_hsv.cpp
* CPU BGR2BGR: to color_rgb.cpp
* CPU RGB: to color_rgb.cpp
* extra arg removed
* CPU YUV: to color_yuv.cpp
* color code decoded
* OclHelper added, some funcs rewritten
* color_lab.cpp: refactored to use OclHelper
* OCL RGB: to color_rgb.cpp
* OCL HLS/HSV: to color_hsv.cpp
* OCL YUV: to color_yuv.cpp
* OCL YUV planes: to color_yuv.cpp
* OCL: color code reduced
* licence to demosaicing.cpp
* IPP func tables to color_rgb.cpp
* code cleanup
* HAVE_OPENCL ifdefs added
* helpers made more common
* fixed two plane YUV with separate mats
* fixed warning in gcc7.2.0
* precomp header fixed
* color space classification functions fixed
* helpers fixed
* rename: isSRGB -> is_sRGB
2018-03-15 14:10:40 +03:00
Tomoaki Teshima
640d77be25
let the performance tests of WarpPerspective pass
...
* avoid misuse of vzeroupper on Visual Studio 2013 Update 5
* add ifdef to avoid unattended optimization
2018-03-07 18:55:27 +09:00
Tomoaki Teshima
9079d9ce17
let the test OCL_Filter/Bilateral pass
...
* avoid aggressive optimization on Visual Studio 2012 Update 5
* add code branch to avoid unattended optimization (keep the old code)
2018-03-06 19:48:04 +09:00
Tomoaki Teshima
8fd1bbde76
fix test error on Tinker Board (OpenCL on Arm platform)
...
* loosen some test threshold mainly for integer types
* use relative error for floating points result
* avoid division by zero by following the comment
* fix the indentation
2018-02-26 22:55:06 +09:00
Florian Echtler
6a8f57e5d7
Merge pull request #10081 from floe:java-camera2-view
...
* add (untested) JavaCamera2View class
* initial fixes
* minor cleanup
* exclude JavaCamera2View from build for older SDK version
* fix method name typo
* add asserts + sanity checks
* fix preview format checks
* fix the memory leak
* export cvtTwoPlaneYUVtoBGR for Java usage
* add handling for two-plane YUV frames (C wrapper still missing)
* add two-plane cvtColor helper function
* fix warnings
* actually use the new cvtColorTwoPlane helper func
* fix wrong output matrix size
* fix wrong conversion type
* simplify method signature, add error condition
* minor fixes to Mat types
* remove leftover semaphore from camera api 1
* android: JavaCamera2View minor refactoring
- re-apply Java code style
- imports cleanup
- dump exceptions information
* android: JavaCamera2View: pause/resume fixes
* android: JavaCamera2View: fix mScale
2018-02-17 15:01:24 +03:00
Alexander Alekhin
c020a7bb67
build: portable integer types
2018-02-15 23:43:02 +03:00
luz.paz
d05714995c
Misc. modules/ cont. pt2
...
Found via `codespell`
2018-02-13 11:28:11 -05:00
Alexander Alekhin
579781e35e
Merge pull request #10822 from alalek:ocl_fix_imgproc_amd
2018-02-12 13:48:06 +00:00
Alexander Alekhin
fad3a6bf15
ocl: disable Laplacian5 and sepFilter2D_SinglePass kernels for AMD OpenCL
2018-02-12 14:06:57 +03:00
take1014
03407a9da0
Merge pull request #10646 from take1014:master
...
* Add a new interface for hough transform
* Fixed warning code
* Fix HoughLinesUsingSetOfPoints based on HoughLinesStandard
* Delete memset
* Rename HoughLinesUsingSetOfPoints and add common function
* Fix test error
* Change static function name
* Change using CV_Assert instead of if-block and add integer test case
* I solve the conflict and delete 'std :: tr1' and changed it to use 'tuple'
* I deleted std::tr1::get and changed int to use 'get'
* Fixed sample code
* revert test_main.cpp
* Delete sample code in comment and add snippets
* Change file name
* Delete static function
* Fixed build error
2018-02-08 22:54:43 +03:00
Alexander Alekhin
44d7435a48
build: eliminate calls of removed functionality from C++17
...
Most part is deprecated since C++11
2018-02-07 12:00:33 +03:00
Alexander Alekhin
4a297a2443
ts: refactor OpenCV tests
...
- removed tr1 usage (dropped in C++17)
- moved includes of vector/map/iostream/limits into ts.hpp
- require opencv_test + anonymous namespace (added compile check)
- fixed norm() usage (must be from cvtest::norm for checks) and other conflict functions
- added missing license headers
2018-02-03 19:39:47 +00:00
Rostislav Vasilikhin
1055f9d208
Merge pull request #10757 from savuor:test_hist_renew
...
* old types removed
* QueryHist tests: new types
* ThreshHist tests: new types
* CalcHist tests: new types
* CalcBackProject tests: new types
* CalcBackProjectPatch tests: new types
* const ref added
2018-02-02 21:35:44 +03:00
Alexander Alekhin
82f889d9b8
Merge pull request #10765 from BelBES:sb/findContours_fix
2018-02-02 16:03:15 +00:00
Harshal Nishar
384fa95680
Fix in Canny when Sobel apertureSize is 7 ( #10743 )
...
* Fixing a bug in Canny implemetation when Sobel aperture size is 7.
* Fixing the bug in Canny accross variants and in test_canny.cpp
* Replacing a tab with white space
2018-02-02 17:00:11 +03:00
sergeybe
2266a8c85f
fix FindContours default offset for CV_LINK_RUNS method
2018-02-02 16:46:05 +03:00
Aditya Rohan
ccea0a831a
Merge pull request #10732 from Riyuzakii:10598
...
* Introduces error throw for line drawn with THICKNESS=0
2018-02-01 15:21:00 +03:00
LaurentBerger
2ebf4e084a
solve issue #10687
2018-01-26 17:01:02 +01:00
Vitaly Tuzov
12ea8477a3
bitexact gaussianblur implementation ( #10345 )
...
* Bit-exact implementation of GaussianBlur smoothing
* Added universal intrinsics based implementation for bit-exact CV_8U GaussianBlur smoothing.
* Added parallel_for to evaluation of bit-exact GaussianBlur
* Added custom implementations for 3x3 and 5x5 bit-exact GaussianBlur
2018-01-22 13:26:32 +03:00
Alexander Alekhin
f056e713c3
Merge pull request #10512 from sturkmen72:update_documentation
2018-01-18 04:44:59 +00:00
Woody Chow
20b3261204
Propagate calculated Gaussian kernel size(ref). Otherwise, ipp_GaussianBlur will fail if user doesn't specify a kernel size. ( #10579 )
2018-01-16 17:15:23 +03:00
Maksim Shabunin
8b87c4b96a
Fixed several warnings produced by clang 6 and static analyzers
2018-01-16 15:26:28 +03:00
Vadim Pisarevsky
59915a3fc9
Merge pull request #10575 from ioxp:getFontScale
2018-01-16 10:51:04 +00:00
woody.chow
f5d9a2a9c1
Parallelize initUndistortRectifyMap
2018-01-15 09:20:35 +09:00
Suleyman TURKMEN
dcd4f8f5db
Update documentation
2018-01-12 22:21:14 +03:00
Philipp Hasper
6032d86e23
Added getFontScaleFromHeight()
2018-01-11 14:00:27 +01:00
Alexander Alekhin
d0b2e60edc
Merge pull request #10514 from alalek:build_warnings
2018-01-05 20:54:01 +00:00
Alexander Alekhin
8acd05f12a
Merge pull request #10421 from cezheng:patch-1
2018-01-05 09:24:33 +00:00
Alexander Alekhin
116c8d0ddf
build: eliminate warnings
...
warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
2018-01-05 04:30:08 +00:00
victor-ludorum
ad23c10600
Updating rotcalipers.cpp to resolve issue #10096
...
Updating the documentation of the rotcalipers.cpp to resolve issue #10096
2017-12-30 10:21:46 +05:30
Tom Becker
592f8d8c1b
Merge pull request #10232 from TomBecker-BD:hough-many-circles
...
Hough many circles (#10232 )
* Add Hui's optimization. Merge with latest changes in OpenCV.
* Use conditional compilation instead of a runtime flag.
* Whitespace.
* Create the sequence for the nonzero edge pixels only if using that approach.
* Improve performance for finding very large numbers of circles
* Return the circles with the larger accumulator values first, as per API documentation.
Use a separate step to check distance between circles. Allows circles to be sorted by strength first. Avoids locking in EstimateRadius which was slowing it down.
Return centers only if maxRadius == 0 as per API documentation.
* Sort the circles so results are deterministic. Otherwise the order of circles with the same strength depends on parallel processing completion order.
* Add test for HoughCircles.
* Add beads test.
* Wrap the non-zero points structure in a common interface so the code can use either a vector or a matrix.
* Remove the special case for skipping the radius search if maxRadius==0.
* Add performance tests.
* Use NULL instead of nullptr.
OpenCV should compile with C++98 compiler.
* Put test suite name first.
Use different test suite names for each test to avoid an error from the test runner.
* Address build bot errors and warnings.
* Skip radius search if maxRadius < 0.
* Dynamically switch to NZPointList when it will be faster than NZPointSet.
* Fix compile error: missing 'typename' prior to dependent type name.
* Fix compile error: missing 'typename' prior to dependent type name.
This time fix it the non C++ 11 way.
* Fix compile error: no type named 'const_reference' in 'class cv::NZPointList'
* Disable ManySmallCircles tests. Failing on Mac.
* Change beads image to JPEG for smaller file size.
Try enabling the ManySmallCircles tests again.
* Remove ManySmallCircles tests. They are failing on the Mac build.
* Fix expectations to check all circles.
* Changing case on a case-insensitive file system
Step 1: remove the old file names
* Changing case on a case-insensitive file system
Step 2: add them back with the new names
* Fix cmpAccum function to be strictly weak ordered.
* Add tests for many small circles.
* imgproc(perf): fix HoughCircles tests
* imgproc(houghCircles): refactor code
- simplify NZPointList
- drop broken (de-synchronization of 'current'/'mi' fields) NZPointSet iterator
- NZPointSet iterator is replaced to direct area scan
- use SIMD intrinsics
- avoid std exceptions (build for embedded systems)
2017-12-28 17:23:11 +03:00
Vadim Pisarevsky
69a6765bf7
Merge pull request #10387 from terfendail:resize23_perftest
2017-12-22 13:26:05 +00:00
Vadim Pisarevsky
3f68d6d8a7
Merge pull request #10392 from terfendail:bitexact_fallback
2017-12-22 13:23:55 +00:00
Alexander Alekhin
83b8cd0152
Merge pull request #10375 from tomoaki0705:buildWarningMSVC
2017-12-22 13:17:12 +00:00
Vitaly Tuzov
5fdb42a7c9
Added fallback to generic linear resize in case bit-exact resize of provided matrix isn't supported
2017-12-22 14:29:50 +03:00
Ce Zheng
602b08d9c7
Update resize inline comments
...
Reading through the implementation, I feel this line of comment is not consistent with the actually code, so this is for correcting it.
2017-12-22 16:03:12 +08:00
Vitaly Tuzov
019162486c
Disabled universal intrinsic based implementation for bit-exact resize of 3-channel images
2017-12-22 10:08:30 +03:00
Tomoaki Teshima
fe7b3f1228
clean up the code
...
* disable the warning in CMake, not int the code using pragma
2017-12-22 08:42:21 +09:00
Vadim Pisarevsky
a8a51db42b
Merge pull request #10316 from terfendail:bitexact_c234
2017-12-21 18:56:54 +00:00
Vitaly Tuzov
b6fe4cc807
Added performance tests for linear resize of 2 and 3-channel images
2017-12-20 18:11:21 +03:00
Alexander Alekhin
813ff37967
imgproc(ocl): fix RGB2RGBA kernel out of range access
2017-12-20 14:19:46 +00:00
Vitaly Tuzov
1eb2fa9efb
Added universal intrinsics based implementations for CV_8UC2, CV_8UC3, CV_8UC4 bit-exact resizes.
2017-12-20 17:17:10 +03:00
elenagvo
b0e9d76ced
HAL for canny
2017-12-19 11:03:10 +03:00
Alexander Alekhin
28b19d6e3e
Merge pull request #10313 from alalek:rename_fix
...
Fix file names
2017-12-15 21:40:22 +03:00
Maksim Shabunin
1033f2b1bd
Fixed 3 issues found by static analysis
2017-12-15 17:29:26 +03:00
Alexander Alekhin
d5f152494b
fix file names
2017-12-15 14:59:35 +03:00
Vitaly Tuzov
51cb56ef2c
Implementation of bit-exact resize. Internal calls to linear resize updated to use bit-exact version. ( #9468 )
2017-12-13 15:00:38 +03:00
Maksim Shabunin
7349b8f5ce
Build for embedded systems
2017-12-11 13:27:37 +03:00
Vadim Pisarevsky
cd7526c973
Merge pull request #10266 from ChristofKaufmann:warp_documentation
2017-12-08 18:48:48 +00:00
Elena Gvozdeva
6185f7209e
Merge pull request #10172 from ElenaGvozdeva:eg/HAL_sobel
...
* add HAL for SobelFilter
* add HAL for pyrDown
* add HAL for Scharr
2017-12-08 16:36:24 +03:00
Christof Kaufmann
9c5b231b2d
doc: Add type restriction note for geometric transformations
...
This is added according to #7862 .
2017-12-08 12:33:51 +01:00
Vadim Pisarevsky
4781f0a337
Merge pull request #10024 from iago-suarez:bugfix-lsd-multiple-imgs-issue#10023
2017-12-06 09:01:37 +00:00
Vadim Pisarevsky
4b8275061e
Merge pull request #10058 from ElenaGvozdeva:eg/HAL
2017-12-05 20:56:24 +00:00
Juha Reunanen
5b41599911
Fix pointPolygonTest for large coordinate values ( #10222 )
...
* Add test that fails
* Fix integer pointPolygonTest for large coordinate values
* Review fixes:
- change type from long long to int64
- move test code to test_contours.cpp, and make it C++98 compliant
* Hopefully fix compiler error by using push_back instead of emplace_back
2017-12-05 15:49:44 +03:00
Vadim Pisarevsky
5ce38e516e
Merge pull request #10223 from vpisarev:ocl_mac_fixes
...
* fixed OpenCL functions on Mac, so that the tests pass
* fixed compile warnings; temporarily disabled OCL branch of TV L1 optical flow on mac
* fixed other few warnings on macos
2017-12-05 13:32:28 +03:00
elenagvo
7bfb38055c
remove matrix release
2017-12-01 14:38:00 +03:00
elenagvo
81519537ae
fix the parameters order
2017-12-01 14:38:00 +03:00
elenagvo
0f12351a41
fix accelerators order
2017-12-01 14:38:00 +03:00
elenagvo
7aadbc9607
remove complex data structs
2017-12-01 14:38:00 +03:00
elenagvo
ce65975625
call HAL for GaussianBlur is fixed
2017-12-01 14:38:00 +03:00
elenagvo
a25c443d1f
add perf test for boxFilter CV8U to CV16U
2017-12-01 14:38:00 +03:00
elenagvo
c2c7333107
add hal for GaussianBlur
2017-12-01 14:38:00 +03:00
elenagvo
cb9e110adb
add HAL for BoxFilter
2017-12-01 14:38:00 +03:00
Vadim Pisarevsky
7ae19467b5
Merge pull request #10171 from ElenaGvozdeva:Threshold
2017-11-30 10:02:47 +00:00
Vadim Pisarevsky
f5dba12762
Merge pull request #10180 from alalek:ocl_avoid_unnecessary_initialization
2017-11-29 11:42:22 +00:00
elenagvo
73ac5321f5
fix threshold HAL
2017-11-28 17:42:29 +03:00
Vadim Pisarevsky
666fc0ba69
Merge pull request #9986 from terfendail:drawcontours_docfix
2017-11-28 13:19:06 +00:00
elenagvo
762138e77e
define adaptiveMethod and thresholdType for HAL
2017-11-28 16:02:06 +03:00
Alexander Alekhin
0ed3209b00
ocl: avoid unnecessary loading/initializing OpenCL subsystem
...
If there are no OpenCL/UMat methods calls from application.
OpenCL subsystem is initialized:
- haveOpenCL() is called from application
- useOpenCL() is called from application
- access to OpenCL allocator: UMat is created (empty UMat is ignored) or UMat <-> Mat conversions are called
Don't call OpenCL functions if OPENCV_OPENCL_RUNTIME=disabled
(independent from OpenCL linkage type)
2017-11-28 14:02:42 +03:00
elenagvo
c95bc0c7fd
add HAL for threshold
2017-11-27 15:35:02 +03:00
elenagvo
11ddb9332c
add HAL for adaptiveThreshold
2017-11-27 15:35:02 +03:00
Vadim Pisarevsky
ec076bfba3
Update imgproc.hpp
...
rewrote the added note in perhaps a cleaner way
2017-11-27 13:42:10 +03:00
Vadim Pisarevsky
92be112388
Merge pull request #10107 from ElenaGvozdeva:medianBlur_HAL
2017-11-27 10:12:16 +00:00
Alexander Alekhin
11330b9253
Merge pull request #10095 from alalek:fix_canny_intrinsics
2017-11-25 12:31:47 +00:00
elenagvo
5d0a8d2aaf
fix the parameters order
2017-11-23 13:30:00 +03:00
Maksim Shabunin
1c46034166
Other buffers
2017-11-21 17:55:23 +03:00
Maksim Shabunin
2178c5e95e
init ABtoXZ
2017-11-21 17:55:23 +03:00
Maksim Shabunin
b3018ba89e
LUV tables
2017-11-21 17:55:23 +03:00
Maksim Shabunin
e75056a084
static init
2017-11-21 17:55:23 +03:00
Maksim Shabunin
51fc891a5c
cvtColor: fixed tables init, moved some tables to heap
2017-11-21 17:55:23 +03:00
Rostislav Vasilikhin
397b57dd72
Merge pull request #10041 from savuor:RevHoughWorks
...
HoughCircles rewritten (PR #7434 updated) (#10041 )
* initial version of renewed HoughCircles done
* fixed compilation
* fixed SIMD ability & compilation warning
* fixed accumulator nonmax comparison
* common Mutex for all invokers
* nzLocal is std::vector
* nz is std::vector
* SSE2 -> SIMD128
* centers is now std::vector
* circles is std::vector
* estimateRadius updated
* accum calculation w/o mutex
* less deprecated code
* several bugs fixed
* back to mutex, TLS gathering doesn't work
* extra code removed
* little refactoring
* docs note updated
* a little speedup
* warning fixed
2017-11-21 14:18:47 +03:00
elenagvo
3a09da71d8
add HAL for medianBlur
2017-11-20 17:09:22 +03:00
elenagvo
20c08eab73
change border type for medianBlur to BORDER_ISOLATED
2017-11-17 15:13:04 +03:00
elenagvo
1a9d8e9447
test for GaussianBlur with border
2017-11-17 13:15:15 +03:00
Alexander Alekhin
baff521b63
imgproc(Canny): eliminate unnecessary operations
...
drop manual loop unrolling:
- don't block compiler optimizations
- no effect on i5
2017-11-15 19:29:59 +00:00
Suleyman TURKMEN
992a81dcaa
Update lsd.cpp
2017-11-11 22:26:44 +03:00
Alexander Alekhin
e89ae986fa
Merge pull request #10053 from terfendail:intersectconvex_fix
2017-11-09 11:05:56 +00:00
Vitaly Tuzov
0205238dca
Fix for intersectConvexConvex nested contours check
2017-11-08 20:27:07 +03:00
Fakabbir Amin
a0c658b012
Merge pull request #9979 from fakabbir:ImproveDoc
...
* Improve Documentation
Fixes Spelling Mistakes.
2017-11-08 16:55:48 +00:00
Alexander Alekhin
bffe254a81
Merge pull request #10003 from sturkmen72:documentation_updates
2017-11-07 16:52:15 +00:00
Suleyman TURKMEN
63fb79b519
updates documentation and samples
2017-11-07 19:21:21 +03:00
Alexander Alekhin
981009ac1f
Merge pull request #9999 from mshabunin:fix-gcc72-warnings
2017-11-07 13:37:25 +00:00
Alexander Alekhin
96aebbe7f9
Merge pull request #9970 from mshabunin:media-sdk-convert
2017-11-07 13:37:07 +00:00
Iago Suárez
42d942e19c
Clearing data into the detect method of the class cv::LineSegmentDetectorImpl
2017-11-04 17:12:20 +01:00
Maksim Shabunin
184daa155f
Fixed minor issues reported by GCC 7.2
2017-11-03 18:06:39 +03:00
Alexander Alekhin
47ae5197a9
test: extract OpenCL Moments tests, drop 'coi' parameter
2017-11-02 13:37:58 +03:00
Alexander Alekhin
c9c759f700
ocl: fix moments global_size (should be >= local_size)
2017-11-02 13:37:57 +03:00
Vitaly Tuzov
b9b553b8bc
Add more details to drawContour description
2017-11-01 16:01:12 +03:00
Maksim Shabunin
0c79f4a00f
MediaSDK: fixed Linux build, improved BGR<->NV12 conversions
2017-11-01 14:14:45 +03:00