Skip to content

Conversation

@MykhailoTrushch
Copy link

Related: opencv/opencv#27490, opencv/opencv#27491, opencv/opencv#27206

This PR adds data for testing of chromatic aberration calibration and correction.

It includes a calibration pattern made from many black discs arranged in a rectangle which is printed out on A3 paper, and a photo is taken with a camera with an open aperture. On the camera, I disabled all kinds of existing chromatic aberration corrections and denoising. My camera can only save in .cr2 or .jpg, so I converted the image to png and downsized it.

Also, this PR includes the sample calibration data which the calibration procedure should output when using the supplied photo as input.

@MykhailoTrushch MykhailoTrushch marked this pull request as ready for review July 17, 2025 22:03
@asmorkalov asmorkalov changed the title WIP: Chromatic Aberration Correction Data Chromatic Aberration Correction Data Nov 24, 2025
asmorkalov pushed a commit to opencv/opencv that referenced this pull request Dec 19, 2025
Chromatic aberration correction #27491

Merge with opencv/opencv_extra#1266

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake

Parent issue: #27206
Related PR: [#27490](#27490)

This PR adds chromatic aberration correction in C++ based on calibration data from the python app.

This code adds a function for chromatic aberration correction based on the calibration file (Mat correctChromaticAberration(InputArray image, const String& calibration_file)), and a class ChromaticAberrationCorrector which can be used to correct images of the same camera under the same settings (so for the same calibration data that is initialized in the beginning).

Also, basic functionality and performance tests are added.
@asmorkalov asmorkalov merged commit f4cee9a into opencv:5.x Dec 19, 2025
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