If there will be measurement before the next predict, `statePost` would be assigned to updated value. So I guess these steps are meant to handle when no measurement and KF only do the predict step.
```cpp
statePre.copyTo(statePost);
errorCovPre.copyTo(errorCovPost);
```
Fix unsigned int bug in computeECC
* address issue with unsigned ints in computeEcc
* remove additional logic checking firstOctave
* use swap instead of same src/dst
* simplify the unsigned check logic
* Fixed OCL implementation of pyrlk
If prevPts size is (N, 1) (which is a default layout for converting `vector<Point2f>` to `UMat`) the `prevPts.cols == 1` and optical flow will be calculated for the first point only.
Getting `prevPts.total()` as in line 1048 is the correct way to get points count.
* fixed compilation warning (size_t to int)
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
* Convert lkpyramid from SSE SIMD to HAL - 90% faster on Power (VSX).
* Replace stores with reduce_sum. Rework to handle endianess correctly.
* Fix compiler warnings by casting values explicitly to shorts
* Switch to CV_SIMD128 compiler definition. Unroll loop to 8 elements since we've already loaded the data.
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
* loosen some test threshold mainly for integer types
* use relative error for floating points result
* avoid division by zero by following the comment
* fix the indentation
- removed tr1 usage (dropped in C++17)
- moved includes of vector/map/iostream/limits into ts.hpp
- require opencv_test + anonymous namespace (added compile check)
- fixed norm() usage (must be from cvtest::norm for checks) and other conflict functions
- added missing license headers
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)