1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 23:33:05 +04:00
Commit Graph

2702 Commits

Author SHA1 Message Date
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 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 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
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
Vitaly Tuzov 07c10d6fc3 Fixed out of bound reading issue in erode() and dilate() 2019-02-07 17:28:58 +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 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
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
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