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

Add adaptive histogram equalization algorithm #516

Merged
merged 3 commits into from
Jan 24, 2021

Conversation

codejaeger
Copy link
Contributor

@codejaeger codejaeger commented Aug 24, 2020

Description

Adaptive histogram equalization(AHE) is used in cases when histogram equalization cannot properly contrast enhance due to the presence of both very bright and very dark regions.
AHE brings out the local information in an image by dividing the image into tiles and then individually performs HE on each of them. Later to remove tiling artefacts a bi-linear interpolation is performed using mappings from the adjacent tiles. Finally to suppress noise, use contrast clipping to limit the #pixels of a particular value.

This PR adds code, tests & an example to show how to use the GIL AHE algorithm.

Dependency

This PR requires support of GIL histogram class and the global HE algorithm currently running in PR #499 & PR #514 respectively . Reviewing and merging can only be done post completion of former PRs.

References

  1. Graphics Gems 4 - Paul S. Heckbert Pg. 474
  2. Adaptive Histogram Equalization and its Variations
  3. Discussion thread on boost-gil mailing list

Tasklist

  • Add test case(s)
  • Ensure all CI builds pass - RIP Travis CI
  • Review and approve

@codejaeger codejaeger changed the title Add code for ahe algorithm Add code for AHE algorithm Aug 24, 2020
@codejaeger codejaeger changed the title Add code for AHE algorithm Add code for Adaptive HE algorithm Aug 24, 2020
@mloskot mloskot changed the title Add code for Adaptive HE algorithm Add Adaptive Histogram Equalization algorithm Aug 25, 2020
@mloskot mloskot added cat/feature New feature or functionality google-summer-of-code All items related to GSoC activities labels Aug 25, 2020
@mloskot mloskot changed the title Add Adaptive Histogram Equalization algorithm Add adaptive histogram equalization algorithm Aug 25, 2020
@mloskot
Copy link
Member

mloskot commented Jan 24, 2021

@codejaeger I've just git merge-updated your gsoc/ahe branch from the latest develop

Copy link
Member

@mloskot mloskot left a comment

Choose a reason for hiding this comment

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

@codejaeger I'm happy to merge this PR. I'm also hoping you'll be available to continue improving the histogram support in GIL. Thank you for your work.

@mloskot mloskot added this to the Boost 1.76+ milestone Jan 24, 2021
@mloskot mloskot merged commit a68a95d into boostorg:develop Jan 24, 2021
meshtag pushed a commit to meshtag/gil that referenced this pull request Apr 21, 2021
meshtag pushed a commit to meshtag/gil that referenced this pull request Apr 22, 2021
@mloskot mloskot mentioned this pull request May 12, 2022
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cat/feature New feature or functionality google-summer-of-code All items related to GSoC activities
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants