Commit Graph

2788 Commits

Author SHA1 Message Date
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
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
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
42742727d6 imgproc(ocl): fix morph generic filter checks
'ksize' is not updated with 'kernel'
2018-11-14 20:15:01 +03:00
Vitaly Tuzov
2dd98e7cc6 bilateralFilter implementation moved to separate file 2018-11-09 18:26:26 +03:00
Vitaly Tuzov
28fd967148 Updated bilateralFilter implementations to use wide universal intrinsics 2018-11-09 15:27:30 +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
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
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
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
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
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
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
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
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
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
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
Vitaly Tuzov
6b84990620 integral() implementation updated to utilize wide universal intrinsics 2018-10-01 17:25:43 +03:00
Alexander Alekhin
70f38b4dfa
Merge pull request #12510 from take1014:doc_hough 2018-09-17 21:39:12 +03: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
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
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