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

Manage LCP in imageProcessing #1459

Merged
merged 7 commits into from
Aug 22, 2023
Merged

Manage LCP in imageProcessing #1459

merged 7 commits into from
Aug 22, 2023

Conversation

demoulinv
Copy link
Contributor

@demoulinv demoulinv commented Jun 8, 2023

Description

In order to make the imageProcessing exec self sufficient for vignetting and geometry correction, the capability to manage Adobe LCP files has been duplicated from the cameraInit exec. As a consequence a code factorization between these two execs has been done. In addition, support of chromatic aberration correction using LCP model has been enabled.

In relation with Meshroom PR alicevision/Meshroom#2042

Features list

  • Create a getSensorSize method in the View class.
  • Update the getViewIntrinsic function by adding a pointer on a LensParam parameter in the interface and by using this parameter to initialize the coefficients of the distortion model.
  • Create the addVignettingMetadata method in the View class for simplifying the cameraInit code.
  • Create the isEmpty method in the LensParam class.
  • Add chromatic aberrations correction (defringing) using LCP model.

Implementation remarks

The getSensorSize method return a non null error code if the sensor size cannot be computed of if it is computed with some uncertainty. This is needed for statistics generation on the read image set by the cameraInit exec. Because this method is used in a parallelized loop within cameraInit, verbosity can be disabled.

A pointer instead of a reference is used in the interface of getViewIntrinsic for the LensParam parameter to make it optional.

@demoulinv demoulinv force-pushed the dev/lcpInImageProcessing branch from 0214d63 to d9975cf Compare June 30, 2023 07:31
@demoulinv demoulinv marked this pull request as draft July 5, 2023 09:54
Add getSensorSize method in View class: Combine metadata and sensor database info to extract the sensor height and width.
Update getIntrinsic in viewIO by considering LCP data to initialize the coefficients of the distortion model.
Add isEmpty method in LensParam class.
Add method in View class to add vignetting info in metadata.
@demoulinv demoulinv force-pushed the dev/lcpInImageProcessing branch from 6100166 to d829d3c Compare August 14, 2023 12:06
@demoulinv demoulinv requested a review from cbentejac August 14, 2023 12:16
@demoulinv demoulinv marked this pull request as ready for review August 14, 2023 12:18
@cbentejac cbentejac added this to the 3.2.0 milestone Aug 17, 2023
Update the software version following the addition of new LCP-related
parameters to the command line.
@cbentejac cbentejac merged commit 3e4f31a into develop Aug 22, 2023
@cbentejac cbentejac deleted the dev/lcpInImageProcessing branch August 22, 2023 07:43
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