Skip to content
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

Undistortion model and rewrite the calibration code #1291

Closed
wants to merge 27 commits into from

Conversation

servantftechnicolor
Copy link
Contributor

Checkerboard detection is extracted from distortionCalibration and now a pipeline executable by itself (for parallelization purpose)

Output is a set of json files

I added Boost json which is a modern implementation of a json parser (instead of property_trees)

A new program for intrinsics calibration is also added

@@ -251,7 +251,7 @@ bool process_innerGrids(sfmData::SfMData& sfmData, std::map<IndexT, calibration:

//Create pose
sfmData::CameraPose newPose(geometry::Pose3(R, -R.transpose() * t));
newPose.setDistance(distances[pos_view]);
//newPose.setDistance(distances[pos_view]);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

Copy link
Member

@fabiencastan fabiencastan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undistortion should be part of Intrinsics.

sfmData::Rig rig(2);
output.getRigs()[0] = rig;

std::map<int, std::vector<std::shared_ptr<sfmData::View>>> paired_views;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

camelCase for consistency

for (auto b : _boards)
{
bool isWeird = false;

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to have some comments explaining the cases that we want to detect to consider as invalid.

{
const std::vector<CheckerBoardCorner> & corners = _corners;

//Sort bvoards by their minimal distance to image center
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo

@@ -272,7 +272,7 @@ endif()
# Boost
# ==============================================================================
option(BOOST_NO_CXX11 "if Boost is compiled without C++11 support (as it is often the case in OS packages) this must be enabled to avoid symbol conflicts (SCOPED_ENUM)." OFF)
set(ALICEVISION_BOOST_COMPONENTS atomic container date_time filesystem graph log log_setup program_options regex serialization system thread timer)
set(ALICEVISION_BOOST_COMPONENTS atomic container date_time filesystem graph log log_setup program_options regex serialization system thread timer json)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

was sorted

@fabiencastan fabiencastan modified the milestones: 3.0.0, 3.0.1 Mar 11, 2023
@fabiencastan fabiencastan modified the milestones: 3.2.0, 3.1.0 Apr 3, 2023
@mugulmd mugulmd mentioned this pull request Apr 17, 2023
6 tasks
@fabiencastan fabiencastan removed this from the 3.1.0 milestone Jun 5, 2023
@servantftechnicolor servantftechnicolor deleted the dev/mergeCalibration branch June 16, 2023 05:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants