opencv/modules/gapi/include/opencv2/gapi
Orest Chura 986ad4ff06
Merge pull request #18857 from OrestChura:oc/kmeans
[G-API]: kmeans() Standard Kernel Implementation

* cv::gapi::kmeans kernel implementation
 - 4 overloads:
    - standard GMat - for any dimensionality
    - GMat without bestLabels initialization
    - GArray<Point2f> - for 2D
    - GArray<Point3f> - for 3D
 - Accuracy tests:
   - for every input - 2 tests
   1) without initializing. In this case, no comparison with cv::kmeans is done as kmeans uses random auto-initialization
   2) with initialization
   - in both cases, only 1 attempt is done as after first attempt kmeans initializes bestLabels randomly

* Addressing comments
 - bestLabels is returned to its original place among parameters
 - checkVector and isPointsVector functions are merged into one, shared between core.hpp & imgproc.hpp by placing it into gmat.hpp (and implementation - to gmat.cpp)
 - typos corrected

* addressing comments
 - unified names in tests
 - const added
 - typos

* Addressing comments
 - fixed the doc note
 - ddepth -> expectedDepth, `< 0 ` -> `== -1`

* Fix unsupported cases of input Mat
 - supported: multiple channels, reversed width
 - added test cases for those
 - added notes in docs
 - refactored checkVector to return dimentionality along with quantity

* Addressing comments
 - makes chackVector smaller and (maybe) clearer

* Addressing comments

* Addressing comments
 - cv::checkVector -> cv::gapi::detail

* Addressing comments
 - Changed checkVector: returns bool, quantity & dimensionality as references

* Addressing comments
 - Polishing checkVector
 - FIXME added

* Addressing discussion
 - checkVector: added overload, separate two different functionalities
 - depth assert - out of the function

* Addressing comments
 - quantity -> amount, dimensionality -> dim
 - Fix typos

* Addressing comments
 - fix docs
 - use 2 variable's definitions instead of one (for all non-trivial variables)
2020-11-30 13:18:43 +00:00
..
cpu Merge pull request #18510 from OrestChura:oc/boundingRect 2020-11-11 12:13:10 +00:00
fluid Merge pull request #17493 from TolyaTalamanov:at/python-bindings-gapi 2020-07-29 16:18:52 +03:00
gpu Merge pull request #14741 from rgarnov:gapi_fix_includes 2019-06-14 19:27:19 +03:00
infer Merge pull request #18716 from dmatveev:dm/upstream_onnx 2020-11-03 18:39:16 +00:00
ocl Merge pull request #18451 from OrestChura:oc/count_non_zero 2020-09-30 16:07:35 +00:00
own Merge pull request #17851 from anton-potapov:sole_tbb_executor 2020-11-30 13:15:13 +00:00
plaidml Merge pull request #17493 from TolyaTalamanov:at/python-bindings-gapi 2020-07-29 16:18:52 +03:00
render Fix issues found by static analysis 2020-11-11 13:59:01 +03:00
s11n Changed behaviour of cv::gapi::serialize, cv::gapi::deserialize for GCompileArgs 2020-11-02 18:55:54 +03:00
streaming Merge pull request #18793 from dmatveev:dm/in_graph_metadata 2020-11-17 14:04:19 +00:00
util Merge pull request #17851 from anton-potapov:sole_tbb_executor 2020-11-30 13:15:13 +00:00
core.hpp Merge pull request #18857 from OrestChura:oc/kmeans 2020-11-30 13:18:43 +00:00
garg.hpp Merge pull request #18793 from dmatveev:dm/in_graph_metadata 2020-11-17 14:04:19 +00:00
garray.hpp Merge pull request #18762 from TolyaTalamanov:at/support-garray 2020-11-27 17:39:46 +00:00
gasync_context.hpp Merge pull request #15735 from anton-potapov:gapi_async_documentaion 2019-10-21 22:33:18 +03:00
gcall.hpp Merge pull request #18419 from TolyaTalamanov:at/generic-inference 2020-10-08 22:12:25 +00:00
gcommon.hpp Merge pull request #18762 from TolyaTalamanov:at/support-garray 2020-11-27 17:39:46 +00:00
gcompiled_async.hpp Merge pull request #15735 from anton-potapov:gapi_async_documentaion 2019-10-21 22:33:18 +03:00
gcompiled.hpp Enable state initialization params via compile_args 2020-06-25 00:43:12 +03:00
gcompoundkernel.hpp Merge pull request #17163 from AsyaPronina:gcompound_kernel_gmatp_coop 2020-08-25 13:51:43 +00:00
gcomputation_async.hpp Merge pull request #15735 from anton-potapov:gapi_async_documentaion 2019-10-21 22:33:18 +03:00
gcomputation.hpp Merge pull request #18493 from TolyaTalamanov:at/wrap-streaming 2020-10-14 22:21:09 +00:00
gframe.hpp G-API: Integrated cv::MediaFrame as I/O type + CPU backend 2020-10-05 20:21:15 +03:00
gkernel.hpp Merge pull request #18762 from TolyaTalamanov:at/support-garray 2020-11-27 17:39:46 +00:00
gmat.hpp Merge pull request #18857 from OrestChura:oc/kmeans 2020-11-30 13:18:43 +00:00
gmetaarg.hpp G-API: Integrated cv::MediaFrame as I/O type + CPU backend 2020-10-05 20:21:15 +03:00
gopaque.hpp Merge pull request #18793 from dmatveev:dm/in_graph_metadata 2020-11-17 14:04:19 +00:00
gproto.hpp Merge pull request #18493 from TolyaTalamanov:at/wrap-streaming 2020-10-14 22:21:09 +00:00
gscalar.hpp Merge pull request #18309 from TolyaTalamanov:at/wrap-apply-overloads 2020-09-12 22:02:21 +00:00
gstreaming.hpp G-API: Introduce streaming::desync and infer(ROI) 2020-10-29 20:19:15 +03:00
gtransform.hpp Merge pull request #14952 from smirnov-alexey:gapi_transform_macro_rework 2019-07-24 23:29:52 +03:00
gtype_traits.hpp G-API: Introduce streaming::desync and infer(ROI) 2020-10-29 20:19:15 +03:00
gtyped.hpp Merge pull request #17871 from OrestChura:oc/typed_GArray_GMat 2020-07-28 14:20:36 +03:00
imgproc.hpp Merge pull request #18857 from OrestChura:oc/kmeans 2020-11-30 13:18:43 +00:00
infer.hpp G-API: Introduce streaming::desync and infer(ROI) 2020-10-29 20:19:15 +03:00
media.hpp KW fixes 2020-10-19 13:46:23 +03:00
opencv_includes.hpp Merge pull request #18762 from TolyaTalamanov:at/support-garray 2020-11-27 17:39:46 +00:00
operators.hpp Merge pull request #18182 from OrestChura:oc/operators_to_cv 2020-09-02 19:28:10 +00:00
render.hpp Merge pull request #16050 from dmatveev:dm/ocv42_gapi_doc_fixup 2019-12-06 15:36:02 +03:00
rmat.hpp Added multidimensional RMat::View steps 2020-11-12 13:15:02 +03:00
s11n.hpp Merge pull request #18762 from TolyaTalamanov:at/support-garray 2020-11-27 17:39:46 +00:00
video.hpp gapi: buildOpticalFlowPyramid() interface, CPUkernel and CPUtests implementation 2020-04-21 14:36:42 +03:00