* Fix for Homogenous precision #14242:
- moved scale computation to an inline function
- use std::numeric_limits<float>::epsilon() instead of != 0.0
* Fix for Homogenous precision #14242:
- fixed warnings for type conversion
* Fix for Homogenous precision #14242:
- use float epsilon() for truncation of doubles
objectPoints and imagePoints are not checked whether they're empty and
cause checkVector() to fail, thus result in a wrong error message.
Fixes: https://github.com/opencv/opencv/issues/6002
During the cluster-based detection of circle grids, the detected circle
pattern has to be mapped to 3D-points. When doing this the width (i.e.
more circles) and height (i.e. less circles) of the pattern need to
be identified in image coordinates.
Until now this was done by assuming that the shorter side in image
coordinates (length in pixels) corresponds to the height in 3D.
This assumption does not hold if we look at the pattern from
a perspective where the projection of the width is shorter
than the projection of the height. This in turn lead to misdetections in
although the circle pattern was clearly visible.
Instead count how many circles have been detected along two edges of the
projected quadrangle and use the one with more circles as width and the
one with less as height.
* trying to fix the custom AVX2 builder test failures (false alarms)
* fixed compile error with CPU_BASELINE=AVX2 on x86; raised tolerance thresholds in a couple of tests
* fixed compile error with CPU_BASELINE=AVX2 on x86; raised tolerance thresholds in a couple of tests
* fixed compile error with CPU_BASELINE=AVX2 on x86; raised tolerance thresholds in a couple of tests
* seemingly disabled false alarm warning in surf.cpp; increased tolerance thresholds in the tests for SolvePnP and in DNN/ENet
* Add functionality to filter homography decompositions
* documentation + small refactor
* fix comparing int to size_t (compiler warning)
* fix whitespace issues
* clarification of function return values in documentation
* refactor of function parameters and change in loop nesting
* cleanup useless .h, fix size_t to int compare, small refactor
* fix documentation and whitespace
* change output from return value to outputarray parameter
* update function docs to reflect changes in parameters
* whitespace
* failing test
* fixed warnings related to extended initialisers and improper types
* initialize vectors from arrays
* initialize vectors from arrays part 2
* fix whitespace
* fix trailing whitespace
* Include <inttypes.h> in test_filter_homography_decomp.cpp, should fix 'uint8_t' : undeclared identifier error
* updated the test (made it shorter and providing better diagnostic) and significantly improved implementation (get rid of heavy repeated and/or unnecessary operations)
* fixed compile warning; removed trailing whitespace
fixes handling of empty matrices in some functions (#11634)
* a part of PR #11416 by Yuki Takehara
* moved the empty mat check in Mat::copyTo()
* fixed some test failures
* make tmpRow proper size before copyTo to avoid reallocated tmpCol
* do the transposition without creating temporary array; replace TAB with spaces.
* revert the previous commit
- 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
* Newton's method can be more efficient
when we get the result of function distortPoint with a point (0, 0) and then undistortPoint with the result, we get the point not (0, 0). and then we discovered that the old method is not convergence sometimes. finally we have gotten the right values by Newton's method.
* modify by advice Newton's method...#10574
* calib3d(fisheye): fix codestyle, update theta before exit EPS check
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)