Alexander Alekhin
9a8dbfd57f
imgproc: dispatch filter.cpp
6 years ago
Alexander Alekhin
9dc7554089
imgproc: copy .dispatch.cpp
6 years ago
Alexander Alekhin
6eac8f78b9
imgproc: copy .simd.hpp
6 years ago
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
6 years ago
Alexander Alekhin
f26912960f
imgproc: clone color*.dispatch.cpp
6 years ago
Alexander Alekhin
db588bb831
imgproc: clone color*.simd.hpp
6 years ago
Alexander Alekhin
d5a2fe5180
perf: ignore _ovx tests
6 years ago
Vitaly Tuzov
99b39aa5bd
Fixed out of bound reading in LINEAR_EXACT resize for 8UC3
6 years ago
Suleyman TURKMEN
3d1dbd2ccd
clean up C API
6 years ago
Alexander Alekhin
3ba49ccecc
imgproc: removed LSD code due original code license conflict
6 years ago
Vitaly Tuzov
9548093b46
Horizontal line processing for pyrDown() reworked using wide universal intrinsics.
6 years ago
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
6 years ago
Brad Kelly
507f8add1c
Implementing AVX512 Support for 2 and 4 channel mats for CV_64F format
6 years ago
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
6 years ago
Rostislav Vasilikhin
4e679e1cc5
disabled 16u and 32f perf tests
6 years ago
Rostislav Vasilikhin
87f651c119
disabled sanity check for 32f
6 years ago
Vitaly Tuzov
07c10d6fc3
Fixed out of bound reading issue in erode() and dilate()
6 years ago
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.
6 years ago
Rostislav Vasilikhin
bbedebb57c
perf tests for cvtColor for 16U and 32f added
6 years ago
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
6 years ago
Vitaly Tuzov
2f5af1bd33
Merge pull request #13693 from terfendail:spatialgrad_wintr
...
* spatialGradient() reworked to use wide universal intrinsics
* Moved row pointers inside loops
6 years ago
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
6 years ago
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
6 years ago
Vitaly Tuzov
ed2e1af3e8
Added performance test for blendLinear
6 years ago
Vitaly Tuzov
266725a378
blendLinear() reworked to use wide universal intrinsics
6 years ago
Rostislav Vasilikhin
a6af9c75e9
a*b+c -> fma
6 years ago
Rostislav Vasilikhin
74ba4b7ae2
fixed (un)signed packing s16 -> u8
6 years ago
Rostislav Vasilikhin
6de86e325f
fixed (un)signed packing s16 -> u8
6 years ago
Alexander Alekhin
a84e11451b
imgproc(test): RGB2YUV regression test
6 years ago
Rostislav Vasilikhin
48e471fdd4
YUV vectorizations ported to master from 3.4
6 years ago
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
6 years ago
Vitaly Tuzov
a84bbc62b1
boundingRect() reworked to use wide universal intrinsics
6 years ago
Vitaly Tuzov
78f80c35d2
Performance test for bounding rect estimation
6 years ago
berak
53c2ebf7f6
fix openvx wrappers
6 years ago
Vitaly Tuzov
a202dc9a90
threshold() reworked to use wide universal intrinsics
6 years ago
Brad Kelly
0165ffa90d
Implementing AVX512 support for 3 channel cv::integral for CV_64F
6 years ago
Vitaly Tuzov
012e43de4b
Morphology reworked to use wide universal intrinsics
6 years ago
Vitaly Tuzov
ea882d58c6
Added CV_ALWAYS_INLINE macro
6 years ago
catree
d745af6763
Add Matplotlib Perceptually Uniform Sequential colormaps (viridis, plasma, inferno, magma, cividis, twilight and twilight shifted).
6 years ago
Vitaly Tuzov
7beb24553a
Speedup filter2d by loop unrolling
...
Added filter2d tests for 16S
6 years ago
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.
6 years ago
Vitaly Tuzov
124011c321
Speedup filter2d by loop unrolling
6 years ago
Vitaly Tuzov
131c09cf76
Fixed medianBlur implementation for hi-resolution images
6 years ago
Vitaly Tuzov
06f32e3b3e
Reworked separable filter to use wide universal intrinsics
6 years ago
vishwesh5
3eb2c940de
Fix Scharr and Sobel functions
...
Resolves #13375
6 years ago
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
6 years ago
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)
6 years ago
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
6 years ago
Namgoo Lee
83c7dfb6a4
Fix error in LineIterator example code in doc
6 years ago
Alexander Alekhin
2d5ccc7b3e
imgproc(resize): update checks (static analyzers)
6 years ago