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

105 Commits

Author SHA1 Message Date
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
Alexander Alekhin 65726e4244 core(hal): improve v_select() SSE4.1+
v_select 'mask' is restricted to these values only: 0 or ~0 (0xff/0xffff/etc)
mask in accuracy test is updated.
2018-04-23 13:17:53 +03:00
Vitaly Tuzov ccd16f107d Fixed IPP based implementation of setTo() for infinity value 2018-04-04 16:05:22 +03:00
Sayed Adel fd0ac962fb core: replace raw intrinsics with universal intrinsics in copy.cpp
- use universal intrinsic instead of raw intrinsic
- add performance check for Mat::copyTo/setTo with mask
2017-12-26 05:30:32 +02:00
Alexander Alekhin 62ed6cdc74 core: fix copyTo(with mask) dst initialization 2017-12-12 18:40:13 +03:00
Vadim Pisarevsky f4136679ea Merge pull request #9551 from ChristofKaufmann:MultiChannelMask 2017-09-18 09:28:34 +00:00
Pavel Vlasov 37ab318657 Compatibility improvement with old IPP versions (tested on 9.0.1);
Manual IPP dispatcher simplification;
2017-09-08 11:08:24 +03:00
Christof Kaufmann 46a668c565 Add multi-channel mask support to mean, meanStdDev and setTo
This adds the possibility to use multi-channel masks for the functions
cv::mean, cv::meanStdDev and the method Mat::setTo. The tests have now a
probability to use multi-channel masks for operations that support them.
This also includes Mat::copyTo, which supported multi-channel masks
before, but there was no test confirming this.
2017-09-04 19:40:27 +02:00
Pavel Vlasov a57718e1ac ICV2017u3 package update;
- Optimizations set change. Now IPP integrations will provide code for SSE42, AVX2 and AVX512 (SKX) CPUs only. For HW below SSE42 IPP code is disabled.
- Performance regressions fixes for IPP code paths;
- cv::boxFilter integration improvement;
- cv::filter2D integration improvement;
2017-08-23 14:24:43 +03:00
Maksim Shabunin a769d69a9d Fixed several issues found by static analysis 2017-06-28 18:06:18 +03:00
Maksim Shabunin 32d4af36e2 Fixing some static analysis issues 2017-06-27 14:30:26 +03:00
Vadim Pisarevsky ef2e5a9f82 Merge pull request #8988 from sovrasov:repeat_src_eq_dst_fix 2017-06-26 21:58:26 +00:00
Alexander Alekhin 006966e629 trace: initial support for code trace 2017-06-26 17:07:13 +03:00
Vladislav Sovrasov 4f9871817a core: forbid handling of the case when src=dst in cv::repeat 2017-06-26 14:02:52 +03:00
Maksim Shabunin b04ed5956e Fixed several issues found by static analysis in core module 2017-05-23 12:35:31 +03:00
Pavel Vlasov 11c2ffaf1c Update for IPP for OpenCV 2017u2 integration;
Updated integrations for:
cv::split
cv::merge
cv::insertChannel
cv::extractChannel
cv::Mat::convertTo - now with scaled conversions support
cv::LUT - disabled due to performance issues
Mat::copyTo
Mat::setTo
cv::flip
cv::copyMakeBorder - currently disabled
cv::polarToCart
cv::pow - ipp pow function was removed due to performance issues
cv::hal::magnitude32f/64f - disabled for <= SSE42, poor performance
cv::countNonZero
cv::minMaxIdx
cv::norm
cv::canny - new integration. Disabled for threaded;
cv::cornerHarris
cv::boxFilter
cv::bilateralFilter
cv::integral
2017-04-25 15:53:12 +03:00
Pavel Vlasov 35c7216846 IPP for OpenCV 2017u2 initial enabling patch; 2017-04-20 20:26:30 +03:00
Tetragramm 24379fcb5f Use transpose() as suggested, because it works on pre-existing destination Mats. 2016-11-10 21:35:00 -06:00
Tetragramm ad5c50a923 Improve the efficiency as suggested by vpisarev.
Alter the Rotation enum to be unambiguous as to direction.
2016-11-02 17:44:13 -05:00
Tetragramm 6f7bf653f7 Add 90 degree rotation methods. This provides a quick simple way of doing 90 degree rotations.
Also fix warnings that show up on other compilers in test builds.
2016-10-22 12:48:52 -05:00
Vadim Pisarevsky 83f2eb79f1 make sure that the empty mat is copied to UMat properly - i.e. UMat becomes empty. Before the patch such copy operation crashed 2016-10-05 14:07:50 +03:00
Pavel Vlasov 30a6cee2fe Instrumentation for OpenCV API regions and IPP functions; 2016-08-19 18:10:03 +03:00
Pavel Vlasov 680ca88ce0 Outdated ICV restrictions were removed; 2016-08-19 15:08:39 +03:00
Ilya Lavrenov 87ae4e0564 fixed clone of empty matrix 2016-07-19 11:31:53 +03:00
Pavel Vlasov 4d7f9e06e8 Fix for copy with mask 32s and 8u; 2015-11-02 18:00:22 +03:00
Maksim Shabunin 6e9d0d9a0c Visual Studio 2015 warning and test fixes 2015-10-20 12:48:37 +03:00
Pavel Vlasov 14b006e808 IPP_VERSION_X100 was changed to:
IPP_VERSION_MAJOR * 100 + IPP_VERSION_MINOR*10 + IPP_VERSION_UPDATE
to manage changes between updates more easily.

IPP_DISABLE_BLOCK was added to ease tracking of disabled IPP functions;
2015-09-25 17:50:15 +03:00
Vadim Pisarevsky 743160b6ac Merge pull request #4158 from alalek:fix-bigdata-copyto 2015-07-08 10:00:46 +00:00
Alexander Alekhin 885114ed2c fix copyTo memory corruption, but the main problem is still here 2015-07-02 13:47:59 +03:00
Alexander Alekhin 24e2a008c3 copyTo: fix for big data (4Gb+) 2015-06-25 21:08:37 +03:00
Pavel Vlasov e57609836c Warning fix; 2015-06-24 14:43:42 +03:00
Pavel Vlasov 101607a7d0 Imgproc_Hist_MinMaxVal.accuracy fix;
Some code style corrections;
2015-06-24 13:50:17 +03:00
Dmitry Budnikov a5a21019b2 ipp_countNonZero build fix;
Removed IPP port for tiny arithm.cpp functions

Additional warnings fix on various platforms.

Build without OPENCL and GCC warnings fixed

Fixed warnings, trailing spaces and removed unused secure_cpy.

IPP code refactored.

IPP code path  implemented as separate static functions to simplify future work with IPP code and make it more readable.
2015-06-18 12:47:07 +03:00
Ilya Lavrenov 5f7a994ad1 fixed internal compiler error 2015-02-20 15:46:22 +03:00
Ilya Lavrenov fc0869735d used popcnt 2015-01-12 10:59:30 +03:00
Chuanbo Weng 2d8c89c40b Remove unnecessary kercn limitation of 4.
When accessing global memory by DWORD4, memory bandwidth
can be fully utilized on Intel platform. This patch will
make more image format(e.g. 8UC4) be processed in DWORD4
by work-item. After applying this patch, 3 subcase of
./opencv_perf_core --gtest_filter=OCL_RepeatFixture_Repeat.Repeat/*
can be speedup on HD4000 graphics card with Beignet:
OCL_RepeatFixture_Repeat.Repeat/2, 64% improvement.
OCL_RepeatFixture_Repeat.Repeat/6, 50% improvement.
OCL_RepeatFixture_Repeat.Repeat/8, 56% improvement.

Signed-off-by: Chuanbo Weng <chuanbo.weng@intel.com>
2014-12-04 11:15:13 +08:00
Pavel Vlasov 45958eaabc Implementation detector and selector for IPP and OpenCL;
IPP can be switched on and off on runtime;

Optional implementation collector was added (switched off by default in CMake). Gathers data of implementation used in functions and report this info through performance TS;

TS modifications for implementations control;
2014-10-15 14:24:41 +04:00
Ilya Lavrenov 00f16e9178 neon 2014-10-03 08:43:02 +00:00
Elena Gvozdeva 31ac73c315 fix for cv::memopTypeToStr 2014-08-29 14:18:52 +04:00
Ilya Lavrenov 2f46cf5ddb changed base types for cv::memopTypeToStr 2014-08-25 11:23:46 +04:00
Vadim Pisarevsky 5f590ebed0 Merge pull request #3094 from Adil-Ibragimov:minor_fixes_in_Mat-data 2014-08-13 18:28:51 +00:00
Vadim Pisarevsky d97f9fc477 now the tests pass with loop_times==30 2014-08-13 16:32:01 +04:00
Adil Ibragimov 8a4a1bb018 Several type of formal refactoring:
1. someMatrix.data -> someMatrix.prt()
2. someMatrix.data + someMatrix.step * lineIndex -> someMatrix.ptr( lineIndex )
3. (SomeType*) someMatrix.data -> someMatrix.ptr<SomeType>()
4. someMatrix.data -> !someMatrix.empty() ( or !someMatrix.data -> someMatrix.empty() ) in logical expressions
2014-08-13 15:21:35 +04:00
Alexander Alekhin 55188fe991 world fix 2014-08-05 20:12:35 +04:00
Elena Gvozdeva 9db8592aa8 fixed ocl_flip for cn==3 2014-07-31 16:57:47 +04:00
Vadim Pisarevsky 5267ed46c7 1. disabled OpenCL acceleration for cv::multiply() (CV_32F), cv::divide (CV_32F), cv::convertScaleAbs (CV_32F) and cv::reduce (SUM, CV_32F), cv::reduce (MIN & MAX), cv::flip (3-channel case).
2. changed the number of test loops from 1 to 30 (except for cv::pow() test, which fails for yet unknown reason)
3. disabled IPP acceleration for 3-channel norms.
4. modified relativeNorm test function to handle very small values
2014-07-30 18:19:47 +04:00
Ilya Lavrenov 405f12fe80 optimized cv::flip (CV_8UC1) 2014-06-04 14:21:42 +04:00
Alexander Alekhin c2ca059baf Merge pull request #2798 from ilya-lavrenov:tapi_copymakeborder 2014-06-04 12:22:52 +04:00
Alexander Alekhin 5e8a3cde94 Merge pull request #2757 from ElenaGvozdeva:ocl_flip 2014-06-03 13:19:42 +04:00
Ilya Lavrenov ab428c9dbd optimized cv::copyMakeBorder 2014-06-02 15:46:44 +04:00