Commit Graph

20312 Commits

Author SHA1 Message Date
Pierre Chatelier
f351653589
Merge pull request #13869 from chacha21:LineVirtualIterator
* LineVirtualIterator

Proposal of LineVirtualIterator, an alternative to "LineIterator not attached to any mat".
This is basically the same implementation, replacing the address difference by a single "offset" variable. elemsize becomes irrelevant and considered to be 1. "step" is thus equal to size.width since no stride is expected.

* Update drawing.cpp

fixed warning

* improvement of LineVirtualIterator

instead of being too conservative, the new implementation gets rid of "offset/step" and only keeps a "Point currentPos" up to date.

left_to_right is renamed to forceLeftToRight as suggested (even for the old LineIterator)

assert() replaced by CV_Assert() (even for the old LineIterator)

* fixed implementation

+fixed last commit so that LineVirtualIterator gives at least the same results as LineIterator

+added a new constructor that does not require any Size, so that no clipping is done and iteration occurs from pt1 to pt2. This is done by adding a spatial offset to pt1 and pt2 so that the same implementation is used, the size being in that case the spatial size between pt1 and pt2

* Update imgproc.hpp

fixed warnings

* Update drawing.cpp

fixed whitespace

* Update drawing.cpp

trailing whitespace

* Update imgproc.hpp

+added a new constructor that takes a Rect rather than a Size. It computes the line pt1->pt2 that clips that rect.
Yet again, this is still based on the same implementation, thanks to the Size and the currentPosOffset that can artifically consider the origin of the rect at (0,0)

* revert changes

revert changes on  original LineIterator implementation, that will be superseded by the new LineVirtualIterator anyway

* added test of LineVirtualIterator

* More tests

* refactoring

Use C++11 chained constructors
Improved code style

* improve test

Added offset as random test data.

* fixed order of initialization

* merged LineIterator and VirtualLineIterator

* merged LineIterator & VirtualLineIterator

* merged LineIterator & VirtualLineIterator

* merged LineIterator & VirtualLineIterator

* made LineIterator::operator ++() more efficient

added one perfectly predictable check; in theory, since ptmode is set in the end of the constructor in the header file, the compiler can figure out that it's always true/false and eliminate the check from the inline `LineIterator::operator++()` completely

* optimized Line() function

in the most common case (CV_8UC3) eliminated the check from the loop

Co-authored-by: Vadim Pisarevsky <vadim.pisarevsky@gmail.com>
2020-04-13 06:59:31 +00:00
Alexander Alekhin
0556450801 Merge pull request #17000 from rgarnov:async_islands 2020-04-10 12:23:53 +00:00
Alexander Alekhin
1537a5f253 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-04-09 19:19:20 +00:00
Ruslan Garnov
ce772b346c Fixed standalone build, added cv::gapi::proto::ptr test 2020-04-09 17:19:11 +03:00
shimat
39d3bbb601 fix error at #include <window_winrt_bridge.hpp> 2020-04-09 09:54:13 +09:00
Dmitry Matveev
b1f42a6506 Implement asynchronous execution for islands 2020-04-08 20:48:23 +03:00
Dmitry Matveev
cb5921b375 Introduced a newStreamSignal() callback for Island Executables 2020-04-08 20:48:23 +03:00
Alexander Alekhin
016f9ab16e
Merge pull request #16788 from OrestChura:oc/optFlowPyrLK
G-API: gapi::calcOpticalFlowPyrLK() Implementation
2020-04-08 20:23:20 +03:00
Alexander Alekhin
499e20da4f Merge pull request #17018 from anton-potapov:ap/fix_control_may_reach_end_of_non_void_function_warning 2020-04-08 16:46:34 +00:00
OrestChura
d50c21e571 gapi: Full calcOpticalFlowPyrLK implementation (2 overloads) and tests
- opencv_gapi module is linked with opencv_video module (optional dependency)
     - kernels added to a new cv::gapi::video namespace and a brand new files created to provide gapi_video environment
     - there are 2 different kernels as G-API should provide GMat AND GArray<GMat> implementation: cv::calcOptFlowPyrLK doesn't calculate pyramids if vector<Mat> is given so just the cast GMat -> GArray<GMat> wouldn't represent all the cv:: functionality
     - tests to check both kernels (based on cv::video tests for cv::calcOpticalFlowPyrLK())
     - tests for internal purposes added
     - vectors<T> comparison in tests implemented
     - new (and old too) common test structures refactored to avoid code copypasting
     - "modules/gapi/test/common/gapi_video_tests_common.hpp" created to share some code snippets between perf and acc tests and avoid code copypasting
2020-04-08 18:11:55 +03:00
Anton Potapov
676d1dfd5b GAPI: Fix [-Wreturn-type] warning on standalone mac build
- added [[noreturn]] to standalone version of  GAPI_Assert
2020-04-08 17:13:33 +03:00
Alexander Alekhin
06bf845783 Merge pull request #16979 from dkurt:dnn_fused_resize_conv 2020-04-08 13:29:51 +00:00
Alexander Alekhin
acede976e4 Merge pull request #17009 from mshabunin:msmf-plugin 2020-04-08 13:28:26 +00:00
Maksim Shabunin
90e7c29c46 videoio: set plugin output dir on windows to bin 2020-04-08 15:22:50 +03:00
Maksim Shabunin
ca6a11e4d2 videoio: added plug-in support to MSMF backend 2020-04-08 15:22:50 +03:00
Alexander Alekhin
b8579f12be Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-04-08 10:19:09 +00:00
Dmitry Kurtaev
21ed892489 Fix Elu import from ONNX 2020-04-08 12:09:45 +03:00
GFleishman
31ec9b2aa7
Merge pull request #16614 from GFleishman:estimateTranslation3D
added estimateTranslation3D to calib3d/ptsetreg

* added estimateTranslation3D; follows API and implementation structure for estimateAffine3D, but only allows for translation

* void variables in null function to suppress compiler warnings

* added test for estimateTranslation3D

* changed to Matx13d datatype for translation vector in ptsetreg and test; used short license in test

* removed iostream include

* calib3d: code cleanup
2020-04-07 19:58:25 +00:00
Alexander Alekhin
0c2a43923c Merge pull request #17007 from mshabunin:fix-openjpeg-vs 2020-04-07 19:55:37 +00:00
Alexander Alekhin
63320aba6c Merge pull request #16999 from rgarnov:exports_for_gisland_executable 2020-04-07 19:55:01 +00:00
Orest Chura
2fe9c87433
Merge pull request #16717 from OrestChura:oc/goodFeatures
- cv::gapi::goodFeaturesToTrack() kernel is implemented
- tests (for exact check with cv::goodFeaturesToTrack() and for internal cases) are implemented
- a custom comparison function for vectors and a custom test fixture implemented
  - some posiible issues as wrong/inexact sorting of two compared vectors are
 not taken into account
- initializations of an input Mat using a picture from opencv_extra implemented (function from gapi_streaming_test used)
2020-04-07 15:53:24 +00:00
Alexander Alekhin
adf54d41d5 Merge pull request #16905 from dkurt:dnn_tf2_keras 2020-04-07 14:59:42 +00:00
Alexander Alekhin
ab4dbff150 Merge pull request #15907 from rgarnov:rg/unique_ptr_for_priv_in_fluid 2020-04-07 14:51:14 +00:00
Liubov Batanina
734771418e
Merge pull request #16840 from l-bat:matmul_inputs
* Supported FullyConnected layer with two inputs

* Skipped test

* Fix conditions

* Added OpenCL support

* Supported ReduceMean3D

* Supported Expand layer

* Fix warning

* Added Normalize subgraph

* refactoring

* Used addLayer

* Fix check

* Used addLayer

* Skip failed test

* Added normalize1 subgraph

* Fix comments
2020-04-07 14:12:18 +00:00
Maksim Shabunin
01a85736e6 OpenJPEG: fixed compilation and warnings with VS 2020-04-07 16:03:17 +03:00
Alexander Alekhin
60c382d8f1 Merge pull request #17005 from tomoaki0705:fixHoughKernelLocal 2020-04-07 10:05:44 +00:00
Tomoaki Teshima
3371e679ce fix OpenCL spec violation 2020-04-07 14:34:55 +09:00
Nikita Shulga
b8cf5d8d5f Enable Otsu thresholding for CV_16UC1 images 2020-04-06 21:19:07 -07:00
Dmitry Matveev
43df944eb4 Added GAPI_EXPORTS to GIslandExecutable since now it needs to be exported 2020-04-06 23:42:52 +03:00
Alexander Alekhin
ce5626db45 Merge pull request #16878 from dkurt:fix_16877 2020-04-06 18:14:35 +00:00
Alexander Alekhin
763a1d7392 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-04-06 15:57:43 +00:00
Alexander Alekhin
1377b9b736 Merge pull request #16970 from l-bat:fix_enet 2020-04-06 15:57:08 +00:00
Alexander Alekhin
5db3092a1f Merge pull request #16952 from anton-potapov:kw_fixes 2020-04-06 15:55:33 +00:00
Ruslan Garnov
be1615b1c3
Merge pull request #16964 from rgarnov:rg/opaque_for_streaming_exec
* Added GOpaque support to GStreamingExecutor

* Added inter-island GOpaque support to GExecutor
2020-04-06 15:53:54 +00:00
Maxim Pashchenkov
ca9fd66744
Merge pull request #16886 from mpashchenkov:mp/ocv-gapi-add-disable
G-API: DISABLED_ in tests instead #if 0

* Removed if 0, replaced with DISABLED_

* boner

* Added tests for fluid

* -1 instead 0.0

* Added GMatDesc's tests for own::Mat

* IMGPROC_FLUID CORE_FLUID

* Added use_only, disabled tests without kernels
2020-04-06 15:21:08 +00:00
Alexander Alekhin
bdc95d2c66 Merge pull request #16911 from anton-potapov:ap/variant_move_issue 2020-04-06 15:19:32 +00:00
Adam Fowles
8334932a26
Merge pull request #16992 from afowles:fix-forEach-segfault
* Fixed divide by zero error in forEach

* Dedicated assertion for !empty
2020-04-06 14:49:02 +00:00
Alexander Alekhin
a10385543b Merge pull request #16963 from rgarnov:rg/gframe 2020-04-06 14:35:52 +00:00
Alexander Alekhin
99d29c9d39 Merge pull request #16982 from tomoaki0705:houghLinesOCL 2020-04-06 14:35:14 +00:00
Liubov Batanina
a448d3a6aa Fix ENet test with OpenVINO 2020.2 2020-04-06 17:29:43 +03:00
Alexander Alekhin
e80adc0bc6 Merge pull request #16965 from rgarnov:in_out_island_interface 2020-04-06 14:06:40 +00:00
Dmitry Matveev
1b5730a799 Introduce a new abstraction layer over island input/output data
- Port GExecutor to this new interface
2020-04-06 12:24:19 +03:00
Tomoaki Teshima
07c3aae315 let the test pass on Mali G52 (ODROID-N2) 2020-04-05 01:39:47 +09:00
Dmitry Kurtaev
b36eba7fab Support FusedResizeAndPadConv2D from TensorFlow 2020-04-04 16:02:17 +03:00
Dmitry Kurtaev
8574a757f9 Case sensitive dnn layers types 2020-04-04 15:03:56 +03:00
Alexander Alekhin
01dcfb0825 Merge tag '4.3.0' 2020-04-03 11:50:53 +00:00
Alexander Alekhin
01b2c5a77c release: OpenCV 4.3.0 2020-04-03 11:45:28 +00:00
Alexander Alekhin
0812207db7 Merge tag '3.4.10' 2020-04-03 11:24:31 +00:00
Ruslan Garnov
c8776e6ebd Added GFrame 2020-04-03 01:21:51 +03:00
Alexander Alekhin
cf2a3c8e74 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-04-02 21:52:32 +00:00