GithubHelp home page GithubHelp logo

paul2002 / image_enhancement Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bbonik/image_enhancement

0.0 1.0 0.0 27.71 MB

Library of Python functions for various types of image enhancement

License: MIT License

Python 100.00%

image_enhancement's Introduction

image_enhancement

Library of NumPy-based Image Processing functions for various types of Image Enhancement, including:

  • Spatial Tone Mapping
  • Local Contrast Enhencement
  • Color Correction (White Balance)
  • Color Saturation Adjustment
  • Exposure Fusion

Examples:

Example1 Example2 Example3 Example4 Example5 Example6! Example7

Functions:

/source/image_enhancement.py contains:

  • get_photometric_mask(): Estimates local brightness distribution (edge-aware blurring).
  • apply_local_contrast_enhancement(): Adjusts strength of local details.
  • apply_spatial_tonemapping(): Adjusts brightness levels in dark and bright regions.
  • transfer_graytone_to_color(): Transfers tones from a tone-mapped grayscale image to a color image.
  • change_color_saturation(): Adjusts the color vibrance of an image.
  • correct_colors(): Removes color casts from images.
  • adjust_brightness(): Adjusts global brightness of the image.
  • srgb_to_linear(): Transforms image to the linear color space.
  • linear_to_srgb(): Transforms image to the gamma-corrected color space.
  • enhance_image(): Applies multiple stages of enhancement to an image.
  • blend_expoures(): Fuses a collection of image exposures to a single well exposed image.

Contents:

├── src                                        [Directory: Source code]
│   ├── image_enhancement.py                   [Main script with all the functions] 
│   ├── example_color_correction.py            [Example of applying color correction]
│   ├── example_enhance_image.py               [Example of combined image enhancement]
│   ├── example_local_contrast_enhancement.py  [Example of applying increasing local details]
|   ├── example_blend_exposures.py             [Example of blending multiple image exposures]
│   └── example_medical_image.py               [Example of processing medical images]
└── images                                     [Directory: Sample test images]

Dependences

  • numpy
  • imageio
  • skimage (can be easily bypassed if needed)

Dataset

If you want to try this code in real-life challenging travel photos, please try the following dataset:

TM-DIED: The Most Difficult Image Enhancement Dataset

Citations

If you use this code in your research please cite the following papers:

  1. Vonikakis, V., Andreadis, I., & Gasteratos, A. (2008). Fast centre-surround contrast modification. IET Image processing 2(1), 19-34.
  2. Vonikakis, V., Winkler, S. (2016). A center-surround framework for spatial image processing. Proc. IS&T Human Vision & Electronic Imaging, (Retinex020), San Francisco, CA, Feb. 14-18.
  3. Vonikakis, V., Arapakis, I. & Andreadis, I. (2011).Combining Gray-World assumption, White-Point correction and power transformation for automatic white balance. International Workshop on Advanced Image Technology (IWAIT), 1569353295.
  4. Vonikakis, V., & Andreadis, I. (2008). Multi-Scale Image Contrast Enhancement. ICARCV 2008. (pp. 385-391).
  5. Vonikakis, V., Bouzos, O. & Andreadis, I. (2011). Multi-Exposure Image Fusion Based on Illumination Estimation, SIPA2011 (pp.135-142).

image_enhancement's People

Contributors

bbonik avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.