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
The number of gaussians involved in a mixture is supposed
to be dynamically adjusted. After being increased, the number
of gaussians can't be reduced anymore.
It seems to be a regression as the legacy code
located in modules/legacy/src/bgfg_gaussmix.cpp allows to reduce
such number of gaussians.
The number of gaussians involved in a mixture is supposed
to be dynamically adjusted. After being increased, the number
of gaussians can't be reduced anymore.
It seems to be a regression as the legacy code
located in modules/legacy/src/bgfg_gaussmix.cpp allows to reduce
such number of gaussians.