Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
419060d
Rewrite fluid related part.
hanliutong Sep 22, 2023
0433fe5
3rdparty: update ade version
mshabunin Sep 28, 2023
c7ec0d5
Merge pull request #23987 from dkurt:openvino_int8_backend
dkurt Sep 28, 2023
8a8c0d2
fix: update location to `samples/dnn/download_models.py`
emmanuel-ferdman Sep 29, 2023
fb0479d
Merge pull request #24341 from emmanuel-ferdman:wip
asmorkalov Sep 29, 2023
5caee5c
Fixed OpenCL PF16 fallback in Einsum layer.
asmorkalov Sep 29, 2023
f3c724d
Merge pull request #24344 from asmorkalov:as/einsum_fallback_fix
alalek Sep 29, 2023
2af5815
Fail Java test suite, execution, if one of test failed.
asmorkalov Sep 29, 2023
63819c1
Merge pull request #24342 from asmorkalov:as/java_test_status
asmorkalov Oct 2, 2023
e5b114e
Added ArUco marker size check for Aruco and Charuco boards.
Oct 2, 2023
4e60392
Merge pull request #24349 from AleksandrPanov:aruco_check_board_separ…
asmorkalov Oct 3, 2023
c497fe0
Removed invalid reference usage in charuco detector.
asmorkalov Oct 3, 2023
9bd14d5
Merge pull request #24353 from alexlyulkov:al/fixed-cumsum-layer
alexlyulkov Oct 3, 2023
4708d1a
feat: re-export cv2.typing module as typing
VadimLevin Oct 3, 2023
00ca8f4
`numpy.distutils` is removed in numpy 1.26 on Python 3.12.
sergiomb2 Oct 1, 2023
9f74982
Merge pull request #24323 from georgthegreat:akaze-variadic
georgthegreat Oct 3, 2023
1bccc14
Merge pull request #24343 from mshabunin:fix-test-writes
mshabunin Oct 3, 2023
d752bac
Merge pull request #24234 from dkurt:distanceTransform_max_dist
dkurt Oct 3, 2023
3d0e2cc
Merge pull request #24351 from sergiomb2:master
asmorkalov Oct 3, 2023
6bcf3d4
Merge pull request #24354 from asmorkalov:as/charuco_ub
asmorkalov Oct 3, 2023
670c52f
Merge pull request #24356 from VadimLevin:dev/vlevin/typing-re-export
asmorkalov Oct 4, 2023
62b5470
Merge pull request #24298 from WanliZhong:extend_perf_net_test
WanliZhong Oct 4, 2023
7b6d65c
Merge pull request #24337 from mshabunin:bump-ade-012c
asmorkalov Oct 4, 2023
33d64d0
Tuned threshold for FastNeuralStyle_eccv16 test for systems without A…
asmorkalov Oct 4, 2023
2c92eb3
Enable more tests for OpenVINO 2023.0
dkurt Oct 5, 2023
3dcaf1f
Merge pull request #24362 from dkurt:enable_ov_2023_tests
asmorkalov Oct 5, 2023
07bf9cb
Merge pull request #24325 from hanliutong:rewrite
hanliutong Oct 5, 2023
24fd395
Merge pull request #24233 from jvuillaumier:rotate_flip_hal_hooks
jvuillaumier Oct 6, 2023
5fb3869
Merge pull request #23109 from seanm:misc-warnings
seanm Oct 6, 2023
fd4af21
add dynamic window in aruco cornerRefinement
Oct 6, 2023
8edf379
RISC-V: added v0.12 intrinsics compatibility header
mshabunin Oct 6, 2023
631f229
Fix the issue of missing imshow icons when linking OpenCV as a static…
LiuPeiqiCN Oct 7, 2023
590f150
dnn: hotfixes for fast gemm (#24315)
fengyuentau Oct 7, 2023
a1028ef
Merge pull request #24333 from definitelyuncertain:CvtRGB2YUV422
definitelyuncertain Oct 12, 2023
7e17f01
Merge pull request #24368 from mshabunin:rvv-clang-17
asmorkalov Oct 12, 2023
3859ac9
Merge pull request #24355 from AleksandrPanov:dynamic_window_in_aruco…
asmorkalov Oct 12, 2023
5ddf3de
Merge pull request #24350 from dkurt:py_return_non_utf8_string
dkurt Oct 12, 2023
b3d3acf
Merge pull request #24370 from LiuPeiqiCN:4.x
asmorkalov Oct 12, 2023
cd7cbe3
Merge pull request #24324 from hanliutong:rewrite-fluid
asmorkalov Oct 13, 2023
58285e5
Merge pull request #24359 from asmorkalov:as/FastNeuralStyle_eccv16_t…
asmorkalov Oct 13, 2023
0507043
Merge pull request #24386 from fengyuentau:fix_dtype_nary_eltwise
fengyuentau Oct 13, 2023
331763a
CI: enable RISC-V for 4.x branch
mshabunin Oct 13, 2023
ce2b9f8
Merge pull request #24401 from mshabunin:enable-riscv-ci
asmorkalov Oct 16, 2023
3ebcd94
Added test with V4L CAP_PROP_CONVERT_RGB=false.
asmorkalov Sep 7, 2023
2f63c58
Merge pull request #24240 from asmorkalov:as/vl4_convert_rgb
asmorkalov Oct 16, 2023
97620c0
Merge branch 4.x
asmorkalov Oct 16, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions 3rdparty/openjpeg/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ ocv_warnings_disable(CMAKE_C_FLAGS
-Wunused-but-set-variable # clang15
-Wmissing-prototypes # clang, function opj_t1_ht_decode_cblk
-Wmissing-declarations # gcc, function opj_t1_ht_decode_cblk
-Wdocumentation # clang
)

#-----------------------------------------------------------------------------
Expand Down
2 changes: 2 additions & 0 deletions 3rdparty/protobuf/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ else()
-Wimplicit-fallthrough
-Warray-bounds # GCC 9+
-Wstringop-overflow -Wstringop-overread # GCC 11-12
-Wextra-semi # clang
-Wcomma # clang
)
endif()
if(CV_ICC)
Expand Down
2 changes: 1 addition & 1 deletion cmake/OpenCVDetectPython.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ if(NOT ${found})
message(STATUS " PYTHON3_NUMPY_INCLUDE_DIRS")
else()
# Attempt to discover the NumPy include directory. If this succeeds, then build python API with NumPy
execute_process(COMMAND "${_executable}" -c "import os; os.environ['DISTUTILS_USE_SDK']='1'; import numpy.distutils; print(os.pathsep.join(numpy.distutils.misc_util.get_numpy_include_dirs()))"
execute_process(COMMAND "${_executable}" -c "import numpy; print(numpy.get_include())"
RESULT_VARIABLE _numpy_process
OUTPUT_VARIABLE _numpy_include_dirs
OUTPUT_STRIP_TRAILING_WHITESPACE)
Expand Down
5 changes: 5 additions & 0 deletions doc/pattern_tools/gen_pattern.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,8 @@ def make_charuco_board(self):
yspacing = (self.height - self.rows * self.square_size) / 2.0

ch_ar_border = (self.square_size - self.aruco_marker_size)/2
if ch_ar_border < side*0.7:
print("Marker border {} is less than 70% of ArUco pin size {}. Please increase --square_size or decrease --marker_size for stable board detection".format(ch_ar_border, int(side)))
marker_id = 0
for y in range(0, self.rows):
for x in range(0, self.cols):
Expand Down Expand Up @@ -283,6 +285,9 @@ def main():
else:
raise ValueError("The marker {},{} is outside the checkerboard".format(x, y))

if p_type == "charuco_board" and aruco_marker_size >= square_size:
raise ValueError("ArUco markers size must be smaller than square size")

pm = PatternMaker(columns, rows, output, units, square_size, radius_rate, page_width, page_height, markers, aruco_marker_size, dict_file)
# dict for easy lookup of pattern type
mp = {"circles": pm.make_circles_pattern, "acircles": pm.make_acircles_pattern,
Expand Down
4 changes: 2 additions & 2 deletions modules/3d/src/fundam.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ class HomographyEstimatorCallback CV_FINAL : public PointSetRegistrator::Callbac
* 2 columns 1 channel
* @param _m2 destination points containing (x,y), depth is CV_32F with 1 column 2 channels or
* 2 columns 1 channel
* @param _model, CV_64FC1, 3x3, normalized, i.e., the last element is 1
* @param _model CV_64FC1, 3x3, normalized, i.e., the last element is 1
*/
int runKernel( InputArray _m1, InputArray _m2, OutputArray _model ) const CV_OVERRIDE
{
Expand Down Expand Up @@ -187,7 +187,7 @@ class HomographyEstimatorCallback CV_FINAL : public PointSetRegistrator::Callbac
* @param _m1 depth CV_32F, 1-channel with 2 columns or 2-channel with 1 column
* @param _m2 depth CV_32F, 1-channel with 2 columns or 2-channel with 1 column
* @param _model CV_64FC1, 3x3
* @param _err, output, CV_32FC1, square of the L2 norm
* @param _err output, CV_32FC1, square of the L2 norm
*/
void computeError( InputArray _m1, InputArray _m2, InputArray _model, OutputArray _err ) const CV_OVERRIDE
{
Expand Down
10 changes: 5 additions & 5 deletions modules/3d/src/ippe.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ class PoseSolver {
/**
* @brief Computes the translation solution for a given rotation solution
* @param objectPoints Array of corresponding object points, 1xN/Nx1 3-channel where N is the number of points
* @param normalizedImagePoints Array of corresponding image points (undistorted), 1xN/Nx1 2-channel where N is the number of points
* @param normalizedImgPoints Array of corresponding image points (undistorted), 1xN/Nx1 2-channel where N is the number of points
* @param R Rotation solution (3x1 rotation vector)
* @param t Translation solution (3x1 rotation vector)
*/
Expand Down Expand Up @@ -220,10 +220,10 @@ class PoseSolver {

/**
* @brief Computes the average depth of an object given its pose in camera coordinates
* @param objectPoints: Object points defined in 3D object space
* @param rvec: Rotation component of pose
* @param tvec: Translation component of pose
* @return: average depth of the object
* @param objectPoints Object points defined in 3D object space
* @param rvec Rotation component of pose
* @param tvec Translation component of pose
* @return average depth of the object
*/
double meanSceneDepth(InputArray objectPoints, InputArray rvec, InputArray tvec);

Expand Down
4 changes: 2 additions & 2 deletions modules/3d/src/p3p.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -220,8 +220,8 @@ int p3p::solve(double R[4][3][3], double t[4][3],
/// Only the solution to the main branch.
/// Reference : X.S. Gao, X.-R. Hou, J. Tang, H.-F. Chang; "Complete Solution Classification for the Perspective-Three-Point Problem"
/// IEEE Trans. on PAMI, vol. 25, No. 8, August 2003
/// \param lengths3D Lengths of line segments up to four solutions.
/// \param dist3D Distance between 3D points in pairs |BC|, |AC|, |AB|.
/// \param lengths Lengths of line segments up to four solutions.
/// \param distances Distance between 3D points in pairs |BC|, |AC|, |AB|.
/// \param cosines Cosine of the angles /_BPC, /_APC, /_APB.
/// \returns Number of solutions.
/// WARNING: NOT ALL THE DEGENERATE CASES ARE IMPLEMENTED
Expand Down
2 changes: 1 addition & 1 deletion modules/3d/src/precomp.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ namespace cv {
* @param ep outlier ratio
* @param modelPoints number of model points required for estimation
* @param maxIters maximum number of iterations
* @return
* @return The number of iterations according to the formula
* \f[
* \frac{\ln(1-p)}{\ln\left(1-(1-ep)^\mathrm{modelPoints}\right)}
* \f]
Expand Down
2 changes: 1 addition & 1 deletion modules/3d/src/rho.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,7 @@ void rhoSeed(Ptr<RHO_HEST> p, uint64_t seed){
* Estimates the homography using the given context, matches and parameters to
* PROSAC.
*
* @param [in/out] p The context to use for homography estimation. Must
* @param [in,out] p The context to use for homography estimation. Must
* be already initialized. Cannot be NULL.
* @param [in] src The pointer to the source points of the matches.
* Must be aligned to 4 bytes. Cannot be NULL.
Expand Down
2 changes: 1 addition & 1 deletion modules/3d/src/rho.h
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ void rhoSeed(Ptr<RHO_HEST> p, uint64_t seed);
* homography with at least the minimum required support, and 0 if it was not.
*
*
* @param [in/out] p The context to use for homography estimation. Must
* @param [in,out] p The context to use for homography estimation. Must
* be already initialized. Cannot be NULL.
* @param [in] src The pointer to the source points of the matches.
* Must be aligned to 4 bytes. Cannot be NULL.
Expand Down
74 changes: 37 additions & 37 deletions modules/3d/src/undistort.simd.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ class initUndistortRectifyMapComputer : public ParallelLoopBody
s2(_s2),
s3(_s3),
s4(_s4) {
#if CV_SIMD_64F
for (int i = 0; i < 2 * v_float64::nlanes; ++i)
#if (CV_SIMD_64F || CV_SIMD_SCALABLE_64F)
for (int i = 0; i < 2 * VTraits<v_float64>::vlanes(); ++i)
{
s_x[i] = ir[0] * i;
s_y[i] = ir[3] * i;
Expand Down Expand Up @@ -123,26 +123,26 @@ class initUndistortRectifyMapComputer : public ParallelLoopBody
else
CV_Assert(m1 != NULL);

#if CV_SIMD_64F
#if (CV_SIMD_64F || CV_SIMD_SCALABLE_64F)
const v_float64 v_one = vx_setall_f64(1.0);
for (; j <= size.width - 2*v_float64::nlanes; j += 2*v_float64::nlanes, _x += 2*v_float64::nlanes * ir[0], _y += 2*v_float64::nlanes * ir[3], _w += 2*v_float64::nlanes * ir[6])
for (; j <= size.width - 2*VTraits<v_float64>::vlanes(); j += 2*VTraits<v_float64>::vlanes(), _x += 2*VTraits<v_float64>::vlanes() * ir[0], _y += 2*VTraits<v_float64>::vlanes() * ir[3], _w += 2*VTraits<v_float64>::vlanes() * ir[6])
{
v_float64 m_0, m_1, m_2, m_3;
m_2 = v_one / (vx_setall_f64(_w) + vx_load(s_w));
m_3 = v_one / (vx_setall_f64(_w) + vx_load(s_w + v_float64::nlanes));
m_2 = v_div(v_one, v_add(vx_setall_f64(_w), vx_load(this->s_w)));
m_3 = v_div(v_one, v_add(vx_setall_f64(_w), vx_load(this->s_w + VTraits<v_float64>::vlanes())));
m_0 = vx_setall_f64(_x); m_1 = vx_setall_f64(_y);
v_float64 x_0 = (m_0 + vx_load(s_x)) * m_2;
v_float64 x_1 = (m_0 + vx_load(s_x + v_float64::nlanes)) * m_3;
v_float64 y_0 = (m_1 + vx_load(s_y)) * m_2;
v_float64 y_1 = (m_1 + vx_load(s_y + v_float64::nlanes)) * m_3;
v_float64 x_0 = v_mul(v_add(m_0, vx_load(this->s_x)), m_2);
v_float64 x_1 = v_mul(v_add(m_0, vx_load(this->s_x + VTraits<v_float64>::vlanes())), m_3);
v_float64 y_0 = v_mul(v_add(m_1, vx_load(this->s_y)), m_2);
v_float64 y_1 = v_mul(v_add(m_1, vx_load(this->s_y + VTraits<v_float64>::vlanes())), m_3);

v_float64 xd_0 = x_0 * x_0;
v_float64 yd_0 = y_0 * y_0;
v_float64 xd_1 = x_1 * x_1;
v_float64 yd_1 = y_1 * y_1;
v_float64 xd_0 = v_mul(x_0, x_0);
v_float64 yd_0 = v_mul(y_0, y_0);
v_float64 xd_1 = v_mul(x_1, x_1);
v_float64 yd_1 = v_mul(y_1, y_1);

v_float64 r2_0 = xd_0 + yd_0;
v_float64 r2_1 = xd_1 + yd_1;
v_float64 r2_0 = v_add(xd_0, yd_0);
v_float64 r2_1 = v_add(xd_1, yd_1);

m_1 = vx_setall_f64(k3);
m_2 = vx_setall_f64(k2);
Expand All @@ -151,18 +151,18 @@ class initUndistortRectifyMapComputer : public ParallelLoopBody
m_1 = v_muladd(v_muladd(v_muladd(m_1, r2_1, m_2), r2_1, m_3), r2_1, v_one);
m_3 = vx_setall_f64(k6);
m_2 = vx_setall_f64(k5);
m_0 /= v_muladd(v_muladd(v_muladd(m_3, r2_0, m_2), r2_0, vx_setall_f64(k4)), r2_0, v_one);
m_1 /= v_muladd(v_muladd(v_muladd(m_3, r2_1, m_2), r2_1, vx_setall_f64(k4)), r2_1, v_one);
m_0 = v_div(m_0, v_muladd(v_muladd(v_muladd(m_3, r2_0, m_2), r2_0, vx_setall_f64(this->k4)), r2_0, v_one));
m_1 = v_div(m_1, v_muladd(v_muladd(v_muladd(m_3, r2_1, m_2), r2_1, vx_setall_f64(this->k4)), r2_1, v_one));

m_3 = vx_setall_f64(2.0);
xd_0 = v_muladd(m_3, xd_0, r2_0);
yd_0 = v_muladd(m_3, yd_0, r2_0);
xd_1 = v_muladd(m_3, xd_1, r2_1);
yd_1 = v_muladd(m_3, yd_1, r2_1);
m_2 = x_0 * y_0 * m_3;
m_3 = x_1 * y_1 * m_3;
m_2 = v_mul(v_mul(x_0, y_0), m_3);
m_3 = v_mul(v_mul(x_1, y_1), m_3);

x_0 *= m_0; y_0 *= m_0; x_1 *= m_1; y_1 *= m_1;
x_0 = v_mul(x_0, m_0); y_0 = v_mul(y_0, m_0); x_1 = v_mul(x_1, m_1); y_1 = v_mul(y_1, m_1);

m_0 = vx_setall_f64(p1);
m_1 = vx_setall_f64(p2);
Expand All @@ -176,8 +176,8 @@ class initUndistortRectifyMapComputer : public ParallelLoopBody
xd_1 = v_muladd(m_0, m_3, xd_1);
yd_1 = v_muladd(m_1, m_3, yd_1);

m_0 = r2_0 * r2_0;
m_1 = r2_1 * r2_1;
m_0 = v_mul(r2_0, r2_0);
m_1 = v_mul(r2_1, r2_1);
m_2 = vx_setall_f64(s2);
m_3 = vx_setall_f64(s1);
xd_0 = v_muladd(m_3, r2_0, v_muladd(m_2, m_0, xd_0));
Expand All @@ -203,17 +203,17 @@ class initUndistortRectifyMapComputer : public ParallelLoopBody
r2_0 = v_muladd(m_0, xd_0, v_muladd(m_1, yd_0, m_2));
r2_1 = v_muladd(m_0, xd_1, v_muladd(m_1, yd_1, m_2));
m_0 = vx_setzero_f64();
r2_0 = v_select(r2_0 == m_0, v_one, v_one / r2_0);
r2_1 = v_select(r2_1 == m_0, v_one, v_one / r2_1);
r2_0 = v_select(v_eq(r2_0, m_0), v_one, v_div(v_one, r2_0));
r2_1 = v_select(v_eq(r2_1, m_0), v_one, v_div(v_one, r2_1));

m_0 = vx_setall_f64(fx);
m_1 = vx_setall_f64(u0);
m_2 = vx_setall_f64(fy);
m_3 = vx_setall_f64(v0);
x_0 = v_muladd(m_0 * r2_0, x_0, m_1);
y_0 = v_muladd(m_2 * r2_0, y_0, m_3);
x_1 = v_muladd(m_0 * r2_1, x_1, m_1);
y_1 = v_muladd(m_2 * r2_1, y_1, m_3);
x_0 = v_muladd(v_mul(m_0, r2_0), x_0, m_1);
y_0 = v_muladd(v_mul(m_2, r2_0), y_0, m_3);
x_1 = v_muladd(v_mul(m_0, r2_1), x_1, m_1);
y_1 = v_muladd(v_mul(m_2, r2_1), y_1, m_3);

if (m1type == CV_32FC1)
{
Expand All @@ -225,20 +225,20 @@ class initUndistortRectifyMapComputer : public ParallelLoopBody
v_float32 mf0, mf1;
v_zip(v_cvt_f32(x_0, x_1), v_cvt_f32(y_0, y_1), mf0, mf1);
v_store(&m1f[j * 2], mf0);
v_store(&m1f[j * 2 + v_float32::nlanes], mf1);
v_store(&m1f[j * 2 + VTraits<v_float32>::vlanes()], mf1);
}
else // m1type == CV_16SC2
{
m_0 = vx_setall_f64(INTER_TAB_SIZE);
x_0 *= m_0; x_1 *= m_0; y_0 *= m_0; y_1 *= m_0;
x_0 = v_mul(x_0, m_0); x_1 = v_mul(x_1, m_0); y_0 = v_mul(y_0, m_0); y_1 = v_mul(y_1, m_0);

v_int32 mask = vx_setall_s32(INTER_TAB_SIZE - 1);
v_int32 iu = v_round(x_0, x_1);
v_int32 iv = v_round(y_0, y_1);

v_pack_u_store(&m2[j], (iu & mask) + (iv & mask) * vx_setall_s32(INTER_TAB_SIZE));
v_pack_u_store(&m2[j], v_add(v_and(iu, mask), v_mul(v_and(iv, mask), vx_setall_s32(INTER_TAB_SIZE))));
v_int32 out0, out1;
v_zip(iu >> INTER_BITS, iv >> INTER_BITS, out0, out1);
v_zip(v_shr<INTER_BITS>(iu), v_shr<INTER_BITS>(iv), out0, out1);
v_store(&m1[j * 2], v_pack(out0, out1));
}
}
Expand Down Expand Up @@ -302,10 +302,10 @@ class initUndistortRectifyMapComputer : public ParallelLoopBody
double s2;
double s3;
double s4;
#if CV_SIMD_64F
double s_x[2*v_float64::nlanes];
double s_y[2*v_float64::nlanes];
double s_w[2*v_float64::nlanes];
#if (CV_SIMD_64F || CV_SIMD_SCALABLE_64F)
double s_x[2*VTraits<v_float64>::max_nlanes];
double s_y[2*VTraits<v_float64>::max_nlanes];
double s_w[2*VTraits<v_float64>::max_nlanes];
#endif
};
}
Expand Down
14 changes: 7 additions & 7 deletions modules/calib/src/chessboard.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -203,12 +203,12 @@ class Chessboard: public cv::Feature2D
* d12/d34 = d13/d24
*
* point order on the line:
* pt1 --> pt2 --> pt3 --> pt4
* p0 --> p1 --> p2 --> p3
*
* \param[in] pt1 First point coordinate
* \param[in] pt2 Second point coordinate
* \param[in] pt3 Third point coordinate
* \param[out] pt4 Forth point coordinate
* \param[in] p0 First point coordinate
* \param[in] p1 Second point coordinate
* \param[in] p2 Third point coordinate
* \param[out] p3 Forth point coordinate
*
*/
static bool estimatePoint(const cv::Point2f &p0,const cv::Point2f &p1,const cv::Point2f &p2,cv::Point2f &p3);
Expand Down Expand Up @@ -309,7 +309,7 @@ class Chessboard: public cv::Feature2D
* \brief Draws the corners into the given image
*
* \param[in] m The image
* \param[out] m The resulting image
* \param[out] out The resulting image
* \param[in] H optional homography to calculate search area
*
*/
Expand Down Expand Up @@ -668,7 +668,7 @@ class Chessboard: public cv::Feature2D
* \brief Calculates the average edge sharpness for the chessboard
*
* \param[in] image The image where the chessboard was detected
* \param[in] rise_distante Rise distance 0.8 means 10% ... 90%
* \param[in] rise_distance Rise distance 0.8 means 10% ... 90%
* \param[in] vertical by default only edge response for horiontal lines are calculated
*
* \returns Scalar(sharpness, average min_val, average max_val)
Expand Down
2 changes: 1 addition & 1 deletion modules/calib/src/precomp.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ namespace cv {
* @param ep outlier ratio
* @param modelPoints number of model points required for estimation
* @param maxIters maximum number of iterations
* @return
* @return The number of iterations according to the formula
* \f[
* \frac{\ln(1-p)}{\ln\left(1-(1-ep)^\mathrm{modelPoints}\right)}
* \f]
Expand Down
6 changes: 3 additions & 3 deletions modules/core/include/opencv2/core/dualquaternion.inl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@
namespace cv {

template <typename T>
DualQuat<T>::DualQuat():w(0), x(0), y(0), z(0), w_(0), x_(0), y_(0), z_(0){};
DualQuat<T>::DualQuat():w(0), x(0), y(0), z(0), w_(0), x_(0), y_(0), z_(0){}

template <typename T>
DualQuat<T>::DualQuat(const T vw, const T vx, const T vy, const T vz, const T _w, const T _x, const T _y, const T _z):
w(vw), x(vx), y(vy), z(vz), w_(_w), x_(_x), y_(_y), z_(_z){};
w(vw), x(vx), y(vy), z(vz), w_(_w), x_(_x), y_(_y), z_(_z){}

template <typename T>
DualQuat<T>::DualQuat(const Vec<T, 8> &q):w(q[0]), x(q[1]), y(q[2]), z(q[3]),
w_(q[4]), x_(q[5]), y_(q[6]), z_(q[7]){};
w_(q[4]), x_(q[5]), y_(q[6]), z_(q[7]){}

template <typename T>
DualQuat<T> DualQuat<T>::createFromQuat(const Quat<T> &realPart, const Quat<T> &dualPart)
Expand Down
17 changes: 15 additions & 2 deletions modules/core/include/opencv2/core/hal/intrin.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -987,6 +987,15 @@ namespace CV__SIMD_NAMESPACE {
{ \
return a op b; \
}
#define OPENCV_HAL_WRAP_EQ_OP(_Tpvec) \
inline _Tpvec v_eq(const _Tpvec& a, const _Tpvec& b) \
{ \
return a == b; \
} \
inline _Tpvec v_ne(const _Tpvec& a, const _Tpvec& b) \
{ \
return a != b; \
}

#define OPENCV_HAL_WRAP_CMP(_Tpvec) \
OPENCV_HAL_WRAP_CMP_OP(_Tpvec, eq, ==) \
Expand All @@ -999,11 +1008,11 @@ namespace CV__SIMD_NAMESPACE {
OPENCV_HAL_WRAP_CMP(v_uint8)
OPENCV_HAL_WRAP_CMP(v_uint16)
OPENCV_HAL_WRAP_CMP(v_uint32)
// OPENCV_HAL_WRAP_CMP(v_uint64)
OPENCV_HAL_WRAP_EQ_OP(v_uint64)
OPENCV_HAL_WRAP_CMP(v_int8)
OPENCV_HAL_WRAP_CMP(v_int16)
OPENCV_HAL_WRAP_CMP(v_int32)
// OPENCV_HAL_WRAP_CMP(v_int64)
OPENCV_HAL_WRAP_EQ_OP(v_int64)
OPENCV_HAL_WRAP_CMP(v_float32)
#if CV_SIMD_64F
OPENCV_HAL_WRAP_CMP(v_float64)
Expand All @@ -1012,9 +1021,11 @@ namespace CV__SIMD_NAMESPACE {
OPENCV_HAL_WRAP_CMP(v_uint8x16)
OPENCV_HAL_WRAP_CMP(v_uint16x8)
OPENCV_HAL_WRAP_CMP(v_uint32x4)
OPENCV_HAL_WRAP_EQ_OP(v_uint64x2)
OPENCV_HAL_WRAP_CMP(v_int8x16)
OPENCV_HAL_WRAP_CMP(v_int16x8)
OPENCV_HAL_WRAP_CMP(v_int32x4)
OPENCV_HAL_WRAP_EQ_OP(v_int64x2)
OPENCV_HAL_WRAP_CMP(v_float32x4)
#if CV_SIMD_64F
OPENCV_HAL_WRAP_CMP(v_float64x2)
Expand All @@ -1024,9 +1035,11 @@ namespace CV__SIMD_NAMESPACE {
OPENCV_HAL_WRAP_CMP(v_uint8x32)
OPENCV_HAL_WRAP_CMP(v_uint16x16)
OPENCV_HAL_WRAP_CMP(v_uint32x8)
OPENCV_HAL_WRAP_EQ_OP(v_uint64x4)
OPENCV_HAL_WRAP_CMP(v_int8x32)
OPENCV_HAL_WRAP_CMP(v_int16x16)
OPENCV_HAL_WRAP_CMP(v_int32x8)
OPENCV_HAL_WRAP_EQ_OP(v_int64x4)
OPENCV_HAL_WRAP_CMP(v_float32x8)
#if CV_SIMD_64F
OPENCV_HAL_WRAP_CMP(v_float64x4)
Expand Down
Loading