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 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/output.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()

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.2.tar.gz (35.8 MB view details)

Uploaded Source

Built Distribution

imWeightedThresholdedheq-0.0.2-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: imWeightedThresholdedheq-0.0.2.tar.gz
  • Upload date:
  • Size: 35.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.2

File hashes

Hashes for imWeightedThresholdedheq-0.0.2.tar.gz
Algorithm Hash digest
SHA256 a15356b93b6d1cf3f4e360aba92457613335eef4ad557d506473b7c4e52a6f34
MD5 efb85762c2efc0a5ba0576d88e79e9c1
BLAKE2b-256 8ac31a58df39f0e66ff04b55332717d026930d86a4a613ca5b922dcb7bbee794

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for imWeightedThresholdedheq-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5869e609fc76f4a4865d4f7bd7a01cf6de7fa27ce81514dae83ad90a3227858f
MD5 b4dfad46c486e2683447142f98c5b468
BLAKE2b-256 6f9d469f1e3d338bc19c3539b907fc061051766a377d9ce9b8c35d0cb3780443

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