Skip to content

Merge 4.x #2768

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 51 commits into from
Nov 29, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
df3d848
Add calib3d to julia bindings
archit120 Sep 9, 2020
9126355
Fixed a typo
pauljurczak Oct 1, 2020
6f82045
* catch exception when processing new variants of point cloud registr…
vpisarev Oct 9, 2020
37315ba
Merge pull request #2664 from archit120:julia_calib3d
alalek Oct 10, 2020
ef0c722
Merge pull request #2690 from pauljurczak:patch-2
alalek Oct 13, 2020
7022f4e
Merge pull request #2619 from akashsharma02:submap
akashsharma02 Oct 13, 2020
0b5ded4
Merge pull request #2698 from DumDereDum:new_HashTSDF_implementation
DumDereDum Oct 19, 2020
9b328cf
Merge pull request #2722 from DumDereDum:tsdf_integrate_replacement
DumDereDum Oct 21, 2020
5b640a5
[moved from opencv] Fix errors when building with cuda stubs
Oct 21, 2020
d8197c6
Merge pull request #2716 from tsukada-cs:feature/fld-is_edge-option
tsukada-cs Oct 22, 2020
10bfd2d
Merge pull request #2725 from DumDereDum:integrateVolumeUnit_fix
DumDereDum Oct 26, 2020
a960877
Merge moved code from opencv/3.4
alalek Oct 26, 2020
2159102
optflow(rlof): fix uninitialized variable
alalek Oct 27, 2020
c53cdfd
Merge pull request #2728 from alalek:fix_uninitialized_var
alalek Oct 28, 2020
65ca496
Fix build failure in rgbd's test
GArik Oct 27, 2020
b65b3cc
Merge pull request #2730 from GArik:rgbd
alalek Oct 28, 2020
5b05f5c
sfm: fix memory leak
alalek Oct 31, 2020
8f3aa5c
Merge pull request #2733 from alalek:fix_sfm_memory_leak
alalek Nov 1, 2020
23ee62a
cmake: support Ceres 2.0.0
alalek Oct 29, 2020
c5390b2
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
alalek Nov 5, 2020
387ad42
cmake: support Ceres 2.0.0
alalek Oct 29, 2020
a35c1e3
Merge pull request #2732 from alalek:support_ceres_2.0.0
alalek Nov 7, 2020
b1ebea6
Merge pull request #2740 from alalek:3.x_support_ceres_2.0.0
alalek Nov 7, 2020
ad75661
Merge pull request #2610 from EricFlorin:VizWindowNamePrepend_Contrib
EricFlorin Nov 7, 2020
eacfc43
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
alalek Nov 10, 2020
ddafc73
Merge pull request #2729 from sunitanyk:master
sunitanyk Nov 13, 2020
97be194
fix win, vs2019 build. missing header
Bleach665 Nov 14, 2020
52f5f05
text: drop ambiguous call, fix bindings
alalek Nov 13, 2020
ae4d5d3
Merge pull request #2748 from alalek:text_drop_ambiguous_api
alalek Nov 14, 2020
088dc14
Merge pull request #2749 from Bleach665:fix_win_vs2019
alalek Nov 14, 2020
2cb3f65
tracking: move/copy files before modification
alalek Oct 27, 2020
80c1975
tracking: rework tracking API
alalek Oct 27, 2020
1d84f28
phase_unwrapping: add asserts, documentation for input types
Nov 17, 2020
24a8823
Merge pull request #2752 from berak:phase_unwrapping_input_type
alalek Nov 17, 2020
f1c3d0e
Merge pull request #2737 from alalek:tracking_api
alalek Nov 17, 2020
aaf8ba2
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
alalek Nov 17, 2020
a51b1b1
tracking: move Tracking API to the main repository
alalek Nov 16, 2020
e9bad9f
Merge pull request #2753 from alalek:video_tracking_api
alalek Nov 18, 2020
8df9e84
sfm: fix build in non-C++11 mode
alalek Nov 18, 2020
8f40a44
Merge pull request #2755 from alalek:fix_sfm_build_std_move
alalek Nov 18, 2020
672ba70
Merge pull request #2713 from crownedone:tbmr_features
crownedone Nov 18, 2020
2bf6434
VS compatibility with unicode strings
ZhijuCen Nov 20, 2020
2ad7203
Merge pull request #2758 from CEvangelist:3.4
alalek Nov 20, 2020
d3ade27
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
alalek Nov 20, 2020
478cc12
Merge pull request #2671 from riskiest:color-calibration
riskiest Nov 23, 2020
f10d54b
fix tutorials foc:Do not display pictures by default
chargerKong Nov 24, 2020
f639657
Merge pull request #2751 from akashsharma02:master
akashsharma02 Nov 25, 2020
4df89a8
Merge pull request #2762 from chargerKong:vizdoc
alalek Nov 26, 2020
89e856b
build: xcode 12 support
alalek Nov 26, 2020
960714d
Merge pull request #2764 from alalek:4.x-xcode12
alalek Nov 26, 2020
b4459e1
Merge remote-tracking branch 'upstream/master' into merge-4.x
alalek Nov 27, 2020
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 modules/alphamat/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ endif()
ocv_define_module(alphamat
opencv_core
opencv_imgproc
WRAP python
)
4 changes: 2 additions & 2 deletions modules/alphamat/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ This project was part of the Google Summer of Code 2019.
***
Alphamatting is the problem of extracting the foreground from an image. Given the input of an image and its corresponding trimap, we try to extract the foreground from the background.

This project is implementation of "[[Designing Effective Inter-Pixel Information Flow for Natural Image Matting](http://people.inf.ethz.ch/aksoyy/ifm/)]" by Yağız Aksoy, Tunç Ozan Aydın and Marc Pollefeys[1]. It required implementation of parts of other papers [2,3,4].
This project is implementation of "[Designing Effective Inter-Pixel Information Flow for Natural Image Matting](https://www.researchgate.net/publication/318489370_Designing_Effective_Inter-Pixel_Information_Flow_for_Natural_Image_Matting)" by Yağız Aksoy, Tunç Ozan Aydın and Marc Pollefeys[1]. It required implementation of parts of other papers [2,3,4].


## References

[1] Yagiz Aksoy, Tunc Ozan Aydin, Marc Pollefeys, "[Designing Effective Inter-Pixel Information Flow for Natural Image Matting](http://people.inf.ethz.ch/aksoyy/ifm/)", CVPR, 2017.
[1] Yagiz Aksoy, Tunc Ozan Aydin, Marc Pollefeys, "[Designing Effective Inter-Pixel Information Flow for Natural Image Matting](https://www.researchgate.net/publication/318489370_Designing_Effective_Inter-Pixel_Information_Flow_for_Natural_Image_Matting)", CVPR, 2017.

[2] Roweis, Sam T., and Lawrence K. Saul. "[Nonlinear dimensionality reduction by locally linear embedding](https://science.sciencemag.org/content/290/5500/2323)" Science 290.5500 (2000): 2323-2326.

Expand Down
19 changes: 14 additions & 5 deletions modules/alphamat/include/opencv2/alphamat.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,28 @@

/**
* @defgroup alphamat Alpha Matting
* This module is dedicated to compute alpha matting of images, given the input image and an input trimap.
* The samples directory includes easy examples of how to use the module.
* Alpha matting is used to extract a foreground object with soft boundaries from a background image.
*
* This module is dedicated to computing alpha matte of objects in images from a given input image and a greyscale trimap image that contains information about the foreground, background and unknown pixels. The unknown pixels are assumed to be a combination of foreground and background pixels. The algorithm uses a combination of multiple carefully defined pixels affinities to estimate the opacity of the foreground pixels in the unkown region.
*
* The implementation is based on @cite aksoy2017designing.
*
* This module was developed by Muskaan Kularia and Sunita Nayak as a project
* for Google Summer of Code 2019 (GSoC 19).
*
*/

namespace cv { namespace alphamat {
//! @addtogroup alphamat
//! @{

/**
* The implementation is based on Designing Effective Inter-Pixel Information Flow for Natural Image Matting by Yağız Aksoy, Tunç Ozan Aydın and Marc Pollefeys, CVPR 2019.
* @brief Compute alpha matte of an object in an image
* @param image Input RGB image
* @param tmap Input greyscale trimap image
* @param result Output alpha matte image
*
* This module has been originally developed by Muskaan Kularia and Sunita Nayak as a project
* for Google Summer of Code 2019 (GSoC 19).
* The function infoFlow performs alpha matting on a RGB image using a greyscale trimap image, and outputs a greyscale alpha matte image. The output alpha matte can be used to softly extract the foreground object from a background image. Examples can be found in the samples directory.
*
*/
CV_EXPORTS_W void infoFlow(InputArray image, InputArray tmap, OutputArray result);
Expand Down
12 changes: 11 additions & 1 deletion modules/alphamat/samples/information_flow_matting.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,19 @@
// It is subject to the license terms in the LICENSE file found in the top-level directory
// of this distribution and at http://opencv.org/license.html.

// Include relevant headers
#include <iostream>
#include "opencv2/highgui.hpp"
#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/alphamat.hpp>

// Set namespaces
using namespace std;
using namespace cv;
using namespace cv::alphamat;

// Set the usage parameter names
const char* keys =
"{img || input image name}"
"{tri || input trimap image name}"
Expand All @@ -30,10 +33,12 @@ int main(int argc, char* argv[])
return 0;
}

// Read the paths to the input image, input trimap and the location of the output image.
string img_path = parser.get<std::string>("img");
string trimap_path = parser.get<std::string>("tri");
string result_path = parser.get<std::string>("out");

// Make sure the user inputs paths to the input image and trimap
if (!parser.check()
|| img_path.empty() || trimap_path.empty())
{
Expand All @@ -44,13 +49,15 @@ int main(int argc, char* argv[])

Mat image, tmap;

image = imread(img_path, IMREAD_COLOR); // Read the input image file
// Read the input image
image = imread(img_path, IMREAD_COLOR);
if (image.empty())
{
printf("Cannot read image file: '%s'\n", img_path.c_str());
return 1;
}

// Read the trimap
tmap = imread(trimap_path, IMREAD_GRAYSCALE);
if (tmap.empty())
{
Expand All @@ -59,16 +66,19 @@ int main(int argc, char* argv[])
}

Mat result;
// Perform information flow alpha matting
infoFlow(image, tmap, result);

if (result_path.empty())
{
// Show the alpha matte if a result filepath is not provided.
namedWindow("result alpha matte", WINDOW_NORMAL);
imshow("result alpha matte", result);
waitKey(0);
}
else
{
// Save the alphamatte
imwrite(result_path, result);
printf("Result saved: '%s'\n", result_path.c_str());
}
Expand Down
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 22 additions & 12 deletions modules/alphamat/tutorials/alphamat_tutorial.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,26 @@ This project was part of Google Summer of Code 2019.

*Mentor:* Sunita Nayak

Alphamatting is the problem of extracting the foreground from an image. The extracted foreground can be used for further operations like changing the background in an image.
Alphamatting is the problem of extracting the foreground with soft boundaries from a background image. The extracted foreground can be used for further operations like changing the background in an image.

Given an input image and its corresponding trimap, we try to extract the foreground from the background. Following is an example:

Input Image: ![](samples/input_images/plant.jpg)
Input Trimap: ![](samples/trimaps/plant.png)
Output alpha Matte: ![](samples/output_mattes/plant_result.jpg)
Input Image: ![](alphamat/samples/input_images/plant.jpg)
Input image should be preferably a RGB image.

This project is implementation of @cite aksoy2017designing . It required implementation of parts of other papers [2,3,4].
Input Trimap: ![](alphamat/samples/trimaps/plant.png)
The trimap image is a greyscale image that contains information about the foreground(white pixels), background(black pixels) and unknown(grey) pixels.

Output alpha Matte: ![](alphamat/samples/output_mattes/plant_result.png)
The computed alpha matte is saved as a greyscale image where the pixel values indicate the opacity of the extracted foreground object. These opacity values can be used to blend the foreground object into a diffferent backgound, as shown below:
![](plant_new_backgrounds.jpg)

Following are some more results.
![](matting_results.jpg)

The first column is input RGB image, the second column is input trimap, third column is the extracted alpha matte and the last two columns show the foreground object blended on new backgrounds.

This project is implementation of @cite aksoy2017designing . It also required implementation of parts of other papers [2,3,4].

# Building

Expand All @@ -33,21 +44,20 @@ Please refer to OpenCV building tutorials for further details, if needed.

The built target can be tested as follows:
```
example_alphamat_information_flow_matting -img=<path to input image file> -tri=<path to the corresponding trimap> -out=<path to save output matte file>
<path to your opencv build directory>/bin/example_alphamat_information_flow_matting -img=<path to input image file> -tri=<path to the corresponding trimap> -out=<path to save output matte file>
```
# Source Code of the sample

@includelineno alphamat/samples/information_flow_matting.cpp


# References

[1] Yagiz Aksoy, Tunc Ozan Aydin, Marc Pollefeys, "[Designing Effective Inter-Pixel Information Flow for Natural Image Matting](http://people.inf.ethz.ch/aksoyy/ifm/)", CVPR, 2017.
[1] Yagiz Aksoy, Tunc Ozan Aydin, Marc Pollefeys, [Designing Effective Inter-Pixel Information Flow for Natural Image Matting](https://www.researchgate.net/publication/318489370_Designing_Effective_Inter-Pixel_Information_Flow_for_Natural_Image_Matting), CVPR, 2017.

[2] Roweis, Sam T., and Lawrence K. Saul. "[Nonlinear dimensionality reduction by locally linear embedding](https://science.sciencemag.org/content/290/5500/2323)" Science 290.5500 (2000): 2323-2326.
[2] Roweis, Sam T., and Lawrence K. Saul. [Nonlinear dimensionality reduction by locally linear embedding](https://science.sciencemag.org/content/290/5500/2323), Science 290.5500 (2000): 2323-2326.

[3] Anat Levin, Dani Lischinski, Yair Weiss, "[A Closed Form Solution to Natural Image Matting](https://www.researchgate.net/publication/5764820_A_Closed-Form_Solution_to_Natural_Image_Matting)", IEEE TPAMI, 2008.
[3] Anat Levin, Dani Lischinski, Yair Weiss, [A Closed Form Solution to Natural Image Matting](https://www.researchgate.net/publication/5764820_A_Closed-Form_Solution_to_Natural_Image_Matting), IEEE TPAMI, 2008.

[4] Qifeng Chen, Dingzeyu Li, Chi-Keung Tang, "[KNN Matting](http://dingzeyu.li/files/knn-matting-tpami.pdf)", IEEE TPAMI, 2013.
[4] Qifeng Chen, Dingzeyu Li, Chi-Keung Tang, [KNN Matting](http://dingzeyu.li/files/knn-matting-tpami.pdf), IEEE TPAMI, 2013.

[5] Yagiz Aksoy, "[Affinity Based Matting Toolbox](https://github.com/yaksoy/AffinityBasedMattingToolbox)".
[5] Yagiz Aksoy, [Affinity Based Matting Toolbox](https://github.com/yaksoy/AffinityBasedMattingToolbox).
Binary file added modules/alphamat/tutorials/matting_results.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions modules/cudaarithm/src/lut.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

#include "precomp.hpp"

#include "lut.hpp"

using namespace cv;
using namespace cv::cuda;

Expand All @@ -15,6 +13,9 @@ Ptr<LookUpTable> cv::cuda::createLookUpTable(InputArray) { throw_no_cuda(); retu

#else /* !defined (HAVE_CUDA) || defined (CUDA_DISABLER) */

// lut.hpp includes cuda_runtime.h and can only be included when we have CUDA
#include "lut.hpp"

Ptr<LookUpTable> cv::cuda::createLookUpTable(InputArray lut)
{
return makePtr<LookUpTableImpl>(lut);
Expand Down
5 changes: 3 additions & 2 deletions modules/cvv/src/stfl/stringutils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -248,15 +248,16 @@ void unescapeCommas(QString &str)

QString shortenString(QString &str, int maxLength, bool cutEnd, bool fill)
{
const auto horizontalEllipsis = u8"\xE2\x80\xA6"; // u8"…"
if (str.size() > maxLength)
{
if (cutEnd)
{
str = str.mid(0, maxLength - 1) + u8"…";
str = str.mid(0, maxLength - 1) + horizontalEllipsis;
}
else
{
str = u8"…" +
str = horizontalEllipsis +
str.mid(str.size() + 1 - maxLength, str.size());
}
}
Expand Down
1 change: 1 addition & 0 deletions modules/cvv/src/util/observer_ptr.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include <cstddef> //size_t
#include <cstdint> // [u]intXX_t
#include <algorithm> // since some people like to forget that one
#include <stdexcept>

namespace cvv
{
Expand Down
2 changes: 1 addition & 1 deletion modules/intensity_transform/src/bimef.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ static Mat solveLinearEquation(const Mat_<float>& img, Mat_<float>& W_h_, Mat_<f
}
);

return tout;
return std::move(tout);
}

static Mat_<float> tsmooth(const Mat_<float>& src, float lambda=0.01f, float sigma=3.0f, float sharpness=0.001f)
Expand Down
1 change: 1 addition & 0 deletions modules/julia/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ ocv_add_module(
opencv_dnn
opencv_features2d
opencv_objdetect
opencv_calib3d
)

set(HDR_PARSER_PATH ${CMAKE_SOURCE_DIR}/modules/python/src2/hdr_parser.py)
Expand Down
2 changes: 1 addition & 1 deletion modules/julia/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,4 +88,4 @@ All other types map directly to the corresponding types on C++. Unlike Python, `
Current Functionality
---

The bindings implement most of the functionality present in the core,imgproc,highgui,videoio,dnn and imgcodecs. The samples also implement some additional manually wrapped functionality. The complete list of automatically wrapped functionality is [here](gen/funclist.csv).
The bindings implement most of the functionality present in the core,imgproc,highgui,videoio,dnn,calib3d and imgcodecs. The samples also implement some additional manually wrapped functionality. The complete list of automatically wrapped functionality is [here](gen/funclist.csv).
25 changes: 15 additions & 10 deletions modules/julia/gen/binding_templates_cpp/cv_core.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,12 @@ typedef ParameterList<T, std::integral_constant<int, Val>> type;
//

#ifdef HAVE_OPENCV_FEATURES2D
template <>
struct SuperType<cv::Feature2D>
{
typedef cv::Algorithm type;
};
// template <>
// struct SuperType<cv::Feature2D>
// {
// typedef cv::Algorithm type;
// };
// TODO: Needs to be fixed but doesn't matter for now
template <>
struct SuperType<cv::SimpleBlobDetector>
{
Expand Down Expand Up @@ -88,7 +89,6 @@ JLCXX_MODULE cv_wrap(jlcxx::Module &mod)



${cpp_code}

//
// Manual Wrapping BEGIN
Expand Down Expand Up @@ -128,16 +128,21 @@ JLCXX_MODULE cv_wrap(jlcxx::Module &mod)
#endif

#ifdef HAVE_OPENCV_FEATURES2D
mod.add_type<cv::Feature2D>("Feature2D", jlcxx::julia_base_type<cv::Algorithm>());
mod.add_type<cv::Feature2D>("Feature2D");
mod.add_type<cv::SimpleBlobDetector>("SimpleBlobDetector", jlcxx::julia_base_type<cv::Feature2D>());
mod.add_type<cv::SimpleBlobDetector::Params>("SimpleBlobDetector_Params");

mod.method("jlopencv_cv_cv_Feature2D_cv_Feature2D_detect", [](cv::Ptr<cv::Feature2D> &cobj, Mat &image, Mat &mask) {vector<KeyPoint> keypoints; cobj->detect(image, keypoints, mask); return keypoints; });
mod.method("jlopencv_cv_cv_SimpleBlobDetector_create", [](SimpleBlobDetector_Params &parameters) { auto retval = cv::SimpleBlobDetector::create(parameters); return retval; });
#endif

//
// Manual Wrapping END
//

${cpp_code}

#ifdef HAVE_OPENCV_FEATURES2D

mod.method("jlopencv_cv_cv_Feature2D_cv_Feature2D_detect", [](cv::Ptr<cv::Feature2D> &cobj, Mat &image, Mat &mask) {vector<KeyPoint> keypoints; cobj->detect(image, keypoints, mask); return keypoints; });
mod.method("jlopencv_cv_cv_SimpleBlobDetector_create", [](SimpleBlobDetector_Params &parameters) { auto retval = cv::SimpleBlobDetector::create(parameters); return retval; });
#endif

}
5 changes: 5 additions & 0 deletions modules/julia/gen/cpp_files/jlcv.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,11 @@ typedef cv::dnn::DictValue LayerId;
typedef cv::dnn::Backend dnn_Backend;
#endif

#ifdef HAVE_OPENCV_CALIB3D

#include <opencv2/calib3d.hpp>
#endif

template <typename C>
struct get_template_type;
template <typename C>
Expand Down
36 changes: 35 additions & 1 deletion modules/julia/gen/defval.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,38 @@ Int32|0|0
Float64|255.|255
Scalar|Scalar(1)|cpp_to_julia(ScalarOXP())
Int32|1|1
Size{Int32}|Size()|cpp_to_julia(SizeOP())
Size{Int32}|Size()|cpp_to_julia(SizeOP())
TermCriteria|TermCriteria(TermCriteria::EPS + TermCriteria::COUNT, 20, FLT_EPSILON)|cpp_to_julia(TermCriteriaOTermCriteriaggEPSGRGTermCriteriaggCOUNTSGYWSGFLTREPSILONP())
Int32|RANSAC|cv_RANSAC
Float32|8.0|8.0
Float64|-1|-1
Int32|21|21
TermCriteria|TermCriteria( TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON)|TermCriteriaOGTermCriteriaggCOUNTGRGTermCriteriaggEPSSGZWSGDBLREPSILONP
TermCriteria|TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 30, 1e-6)|TermCriteriaOTermCriteriaggCOUNTRTermCriteriaggEPSSGZWSGXeTcP
Int32|CALIB_CB_SYMMETRIC_GRID|cv_CALIB_CB_SYMMETRIC_GRID
InputArray|cv::Mat()|CxxMat()
Int32|SOLVEPNP_ITERATIVE|cv_SOLVEPNP_ITERATIVE
Float64|3|3
Int32|CALIB_FIX_INTRINSIC|cv_CALIB_FIX_INTRINSIC
Float64|5|5
Float64|0.99|0.99
Int32|CALIB_ZERO_DISPARITY|cv_CALIB_ZERO_DISPARITY
size_t|2000|2000
SolvePnPMethod|SOLVEPNP_ITERATIVE|cv_SOLVEPNP_ITERATIVE
Float64|0.0|0.0
Ptr{Feature2D}|SimpleBlobDetector::create()|SimpleBlobDetectorggcreateOP
Int32|StereoSGBM::MODE_SGBM|StereoSGBMggMODERSGBM
Int32|CALIB_CB_ADAPTIVE_THRESH + CALIB_CB_NORMALIZE_IMAGE|cv_CALIB_CB_ADAPTIVE_THRESH + cv_CALIB_CB_NORMALIZE_IMAGE
Float64|3.|3
size_t|10|10
Int32|16|16
Point{Float64}|Point2d(0, 0)|PointYdOWSGWP
Int32|2000|2000
Int32|FM_RANSAC|cv_FM_RANSAC
Int32|100|100
TermCriteria|TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 100, DBL_EPSILON)|TermCriteriaOTermCriteriaggCOUNTGRGTermCriteriaggEPSSGXWWSGDBLREPSILONP
HandEyeCalibrationMethod|CALIB_HAND_EYE_TSAI|cv_CALIB_HAND_EYE_TSAI
Float32|0.8F|0.8
Int32|fisheye::CALIB_FIX_INTRINSIC|cv_fisheye_CALIB_FIX_INTRINSIC
Float64|0.999|0.999
Float64|0.995|0.995
Loading