New computeECC function, and updated findTransformECC function to make gaussian filtering optional (#13837)
* fix for https://github.com/opencv/opencv/issues/12432 with doc and tests
* Added doc string for new parameter.
* Fixes suggested by Alalek for getting around ABI incompatibility.
* Update to docstring, to remove parameter that isn't relevant.
* More updates based on Alalek's usggestions.
- Before this PR, following tests failed on some platform.
CUDA_OptFlow/FarnebackOpticalFlow.Accuracy/19
CUDA_OptFlow/FarnebackOpticalFlow.Accuracy/23
- The algorithm now recognizes the OPTFLOW_USE_INITIAL_FLOW flag.
Previously, when the flag was set, it did not use the flow data
passed as input, instead used some garbage data in memory.
- More strict test limit.
* may be an typo fix
* remove identical branch,may be paste error
* add parentheses around macro parameter
* simplify if condition
* check malloc fail
* change the condition of branch removed by commit 3041502861
* Pass RANSAC parameters as function input
* Clean up unnecessary code
* Keep the original function signature
* Clean up based on PR comments
Replace array with vector.
Correct naming convention for input variables.
Add checks on input variables.
* Use vector instead of array for dynamic size
* Revert change.
* Use dynamic array
* Fix wrong syntax in array allocation
* Undo change
* Fix variable name
* Use vector and not array
* fixed compile warning on Windows
Add ocl version BackgroundSubtractorKNN (#10553)
* Add ocl version bgfg_knn
* Add ocl KNN perf test
* ocl KNN: Avoid unnecessary initializing when non-UMat parameters are used
* video: turn off OpenCL for color KNN on Intel devices
due performance degradation
* video: turn off KNN OpenCL on Apple devices with Intel iGPU
due process freeze during clBuildProgram() call
* fixed OpenCL functions on Mac, so that the tests pass
* fixed compile warnings; temporarily disabled OCL branch of TV L1 optical flow on mac
* fixed other few warnings on macos
If there are no OpenCL/UMat methods calls from application.
OpenCL subsystem is initialized:
- haveOpenCL() is called from application
- useOpenCL() is called from application
- access to OpenCL allocator: UMat is created (empty UMat is ignored) or UMat <-> Mat conversions are called
Don't call OpenCL functions if OPENCV_OPENCL_RUNTIME=disabled
(independent from OpenCL linkage type)
The method does cvCheckPixelBackgroundNP (which reads bgmodel)
before it is ever updated (in cvUpdatePixelBackgroundNP). This
initialization is thus needed to avoid reads of unitialized values.
OpenVX optical flow PyrLK wrappers added (#7774)
* wrappers for vx_pyramid added
* initial version of Optical Flow PyrLK wrappers added
* array downloading code simplified
* disabled due to bad accuracy; fixed bugs, e.g. vendor-specific ones
* rewritten for new macro use