Skip to main content

This module attempts to enhance contrast of a given image by employing a method called weighted thresholded histogram equalization (WTHE).

Project description

imWeightedThresholdedheq

This module attempts to enhance contrast of a given image or video by employing a method called weighted thresholded histogram equalization (WTHE). This method seeks to improve on preformance of the conventional histogram equalization method by adding controllable parameters to it. By weighting and thresholding the PMF of the image before performing histogram equalization, two parameters are introduced that can be changed manually, but by experimenting on a variety of images, optimal values for both parameters are calculated (r = 0.5, v = 0.5).

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

Installation

Run the following to install:

pip install imWeightedThresholdedheq

Usage

import numpy as np
import cv2
from imWeightedThresholdedheq import imWTHeq 

cap = cv2.VideoCapture('assets/Arctic-Convoy-With-Giant-Mack-Trucks.mp4')

# output video without sound
video_out_name = 'assets/Arctic-Convoy-With-Giant-Mack-Trucks-imWeightedThresholdedheq.mp4'
i = 0
j = 0
Wout_list = np.zeros((10))
while(cap.isOpened()):
    ret, frame = cap.read()
    if ret == False:
        break
    frame_hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
    frame_v   = frame_hsv[:, :, 2].copy()
    image_heq, Wout = imWTHeq(frame_v, Wout_list, r=0.5, v=0.5)
    Wout_list[j] = Wout
    j += 1
    if j == 10:
        j = 0
    frame_hsv[:, :, 2] = image_heq
    frame_eq = cv2.cvtColor(frame_hsv, cv2.COLOR_HSV2BGR)

    fps = cap.get(cv2.CAP_PROP_FPS)
    if i==0:
        h, w, d = frame_eq.shape
        fourcc = cv2.VideoWriter_fourcc(*'mp4v')
        video_out = cv2.VideoWriter(video_out_name, fourcc, fps, (w, h))
    video_out.write(frame_eq)

    i+=1
cv2.destroyAllWindows()
video_out.release()

Or

imWeightedThresholdedheq --input 'Plane.jpg' --output 'Plane-imWeightedThresholdedheq.jpg'

Showcase

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

imWeightedThresholdedheq-0.0.6.tar.gz (210.0 kB view details)

Uploaded Source

Built Distribution

imWeightedThresholdedheq-0.0.6-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file imWeightedThresholdedheq-0.0.6.tar.gz.

File metadata

  • Download URL: imWeightedThresholdedheq-0.0.6.tar.gz
  • Upload date:
  • Size: 210.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.6

File hashes

Hashes for imWeightedThresholdedheq-0.0.6.tar.gz
Algorithm Hash digest
SHA256 212e623de0f1b649963ee2628fbd6f3e331641b5b5afd67f0be42f13ac0d352a
MD5 7a5885de9815240ead5563c6ffc765d1
BLAKE2b-256 2056630c67feaa01cdb6e00a4c1d02dcd933602b2e7bab00c82fe61b95a11904

See more details on using hashes here.

File details

Details for the file imWeightedThresholdedheq-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: imWeightedThresholdedheq-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.6

File hashes

Hashes for imWeightedThresholdedheq-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 062d822360eea8127ebe07dea643da538528d6c8cb5a04550bd0bd06c822b964
MD5 fbdc7e388034619be1905c2ba2519b4e
BLAKE2b-256 ba24211a103d250d6791b0fa09de90c5e8664694a4e7a79c10353144264e1ce8

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