
Low-light Image Enhancement
Low light Image Enhancement is a task focused on improving the quality and visibility of images captured in low-light conditions. This task involves applying image processing techniques and algorithms to enhance details, reduce noise, and increase brightness in photos taken in dimly lit environments.
Low-Light Image Enhancement
Summary
Introduction
Low-Light Image Enhancement is a task in computer vision that focuses on improving the quality and visibility of images captured in low-light conditions. The primary objective of this task is to enhance the details, colors, and overall brightness of images that suffer from low illumination.
In low-light scenarios, images tend to have reduced visibility, high noise levels, and limited contrast. The task of Low-Light Image Enhancement aims to overcome these challenges and produce visually appealing and informative images. By enhancing the low-light images, important details can be revealed, noise can be reduced, and the overall visual quality can be significantly improved.
Parameters
Inputs
- input_image - (image -.png|.jpg|.jpeg): The model takes a low-light image as input. These are images captured in low-light environments, often appearing dim, blurry, or noisy due to insufficient lighting conditions or other constraints.
Output
- output_image - (image -.png): The model produces an output of an improved image, with enhanced brightness and clearer details compared to the input image. Enhancements may include overall brightness enhancement, color balancing, detail enhancement, and noise reduction to achieve the best possible result.
Examples
input_image | output_image |
---|---|
![]() | ![]() |
![]() | ![]() |
Usage for developers
Please find below the details to track the information and access the code for processing the model on our platform.
Requirements
pip install -r requirements.txt
Code based on AIOZ structure
import cv2
from .exposure_enhancement import enhance_image_exposure
...
def do_ai_task(
input: Union[str, Path],
model_storage_directory: Union[str, Path],
device: Literal["cpu", "cuda", "gpu"] = "cpu",
*args, **kwargs) -> Any:
image = cv2.imread(input_image)
if image is None:
raise ValueError(f"Cannot load image from path: {input_image}")
enhanced_image = enhance_image_exposure(
image,
gamma=0.6,
lambda_=0.15,
dual=True,
sigma=3,
bc=1,
bs=1,
be=1,
eps=1e-3
)
cv2.imwrite("output.png", enhanced_image)
output = open("output.png", "rb") # io.BufferedReader
return output
Reference
This repository is based on and inspired by Souhaib Attaiki's work. We sincerely appreciate their generosity in sharing the code.
License
We respect and comply with the terms of the author's license cited in the Reference section.
Citation
@misc{lowlightpython,
author = {Souhaib Attaiki},
title = {Low light Image Enhancement},
year = {2020},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/pvnieo/Low-light-Image-Enhancement}},
}