opencv/modules
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
..
calib3d calib3d: eliminate 'register' build warning 2020-11-20 20:32:59 +00:00
core Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-11-27 14:08:06 +00:00
dnn Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-11-27 14:08:06 +00:00
features2d Merge pull request #18924 from alalek:4.x-xcode12 2020-11-26 22:56:59 +00:00
flann Merge pull request #18243 from alalek:static_code_fixes 2020-09-02 22:50:00 +00:00
gapi Merge pull request #18857 from OrestChura:oc/kmeans 2020-11-30 13:18:43 +00:00
highgui Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-11-20 20:32:00 +00:00
imgcodecs Merge pull request #18826 from Rightpoint:feature/colejd/build-catalyst-xcframework 2020-11-24 21:54:54 +00:00
imgproc objc: rework headers import 2020-11-15 05:24:01 +00:00
java java: workaround handling of base class 2020-11-16 06:03:30 +00:00
js Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-10-26 20:07:47 +00:00
ml Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-09-28 21:33:29 +00:00
objc Merge pull request #18826 from Rightpoint:feature/colejd/build-catalyst-xcframework 2020-11-24 21:54:54 +00:00
objdetect Fix issues found by static analysis 2020-11-11 13:59:01 +03:00
photo Add Objective-C/Swift wrappers for opencv_contrib modules 2020-07-21 19:19:08 +09:00
python pre: OpenCV 4.5.1 (version++) 2020-11-18 11:04:54 +00:00
stitching Merge pull request #18335 from chargerKong:master 2020-11-19 16:59:33 +00:00
ts Merge pull request #18924 from alalek:4.x-xcode12 2020-11-26 22:56:59 +00:00
video Merge pull request #18838 from alalek:video_tracking_api 2020-11-18 11:04:15 +00:00
videoio Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-11-27 14:08:06 +00:00
world Merge pull request #13422 from mshabunin:split-videoio-cmake 2018-12-26 15:50:20 +03:00
CMakeLists.txt