Skip to main content

This module attempts to enhance contrast of a given image by employing a method called HBLPCE.

Project description

imhblpce

This module attempts to enhance contrast of a given image by employing a method called HBLPCE [Histogram-Based Locality-Preserving Contrast Enhancement]. This method enhances contrast of an image through equalizing its histogram, while keeping an eye on histogram's general shape, to conserve overall brightness and prevent excessive enhancement of the image.

You can access the article that came up with this method here.

Through formulating their approach, a minimization problem is introduced and solved using cvxpy library in python.

Installation

Run the following to install:

pip install imhblpce

Usage

import numpy as np
import cv2
from imhblpce import imhblpce

def imresize(img, wr=500, hr=None): # This is just for imshow-ing images with titles
    [ h, w, d] = img.shape
    hr = (h*wr)//w if not hr else hr
    img_resized = cv2.resize(img, dsize=(wr, hr))
    return img_resized

def main():
    image_name = 'assets/Countryside.jpg'
    image = cv2.imread(image_name)

    # converts rgb image to hsv
    hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
    v_image = hsv_image[:, :, 2]
    v_image_hblpce = imhblpce(v_image)

    hsv_image_hblpce = hsv_image.copy()
    hsv_image_hblpce[:, :, 2] = v_image_hblpce
    image_hblpce = cv2.cvtColor(hsv_image_hblpce, cv2.COLOR_HSV2BGR)

    # This is just for imshow-ing images with titles

    cv2.imshow('Original Image', imresize(image))
    cv2.imshow('HBLPCE-d Image', imresize(image_hblpce))
    cv2.waitKey(0)

if __name__ == '__main__': main()

Showcase

This is a sample image Countryside.jpg Image The sample image enhanced by HBLPCE method Countryside-imhblpce.jpg Image

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imhblpce-0.0.4.tar.gz (3.7 MB view details)

Uploaded Source

Built Distribution

imhblpce-0.0.4-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file imhblpce-0.0.4.tar.gz.

File metadata

  • Download URL: imhblpce-0.0.4.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.5

File hashes

Hashes for imhblpce-0.0.4.tar.gz
Algorithm Hash digest
SHA256 1d2f78cb1245284b8e9395fe400acf13b9d37376f37ed43de2d10192e3a605ea
MD5 ef6995c5f1a3a36e1f4cac7f3e1f29dc
BLAKE2b-256 05635e9a17e1abcce2ec56d9332f12c0d7e0b7dfaa6f0c706ebbf595e76a5442

See more details on using hashes here.

File details

Details for the file imhblpce-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: imhblpce-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.5

File hashes

Hashes for imhblpce-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 883abcfd7eba14c403552a7e437654eb4f790aee60e75de61433b920d4c65936
MD5 89de942e3c1c7651dafcb5812e99acd6
BLAKE2b-256 4bf4d788e3cc113cb4331c3ee1796fc33fb4f1575b88dd293515aeeb146274c6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page