OpenCV  4.4.0-dev
Open Source Computer Vision
Functions
The module brings implementations of intensity transformation algorithms to adjust image contrast.

Functions

void cv::intensity_transform::autoscaling (const Mat input, Mat &output)
 Given an input bgr or grayscale image, apply autoscaling on domain [0, 255] to increase the contrast of the input image and return the resulting image. More...
 
void cv::intensity_transform::BIMEF (InputArray input, OutputArray output, float mu=0.5f, float a=-0.3293f, float b=1.1258f)
 Given an input color image, enhance low-light images using the BIMEF method ([267] [268]). More...
 
void cv::intensity_transform::BIMEF (InputArray input, OutputArray output, float k, float mu, float a, float b)
 Given an input color image, enhance low-light images using the BIMEF method ([267] [268]). More...
 
void cv::intensity_transform::contrastStretching (const Mat input, Mat &output, const int r1, const int s1, const int r2, const int s2)
 Given an input bgr or grayscale image, apply linear contrast stretching on domain [0, 255] and return the resulting image. More...
 
void cv::intensity_transform::gammaCorrection (const Mat input, Mat &output, const float gamma)
 Given an input bgr or grayscale image and constant gamma, apply power-law transformation, a.k.a. gamma correction to the image on domain [0, 255] and return the resulting image. More...
 
void cv::intensity_transform::logTransform (const Mat input, Mat &output)
 Given an input bgr or grayscale image and constant c, apply log transformation to the image on domain [0, 255] and return the resulting image. More...
 

Detailed Description

Namespace for all functions is cv::intensity_transform.

Supported Algorithms

References from following book and websites:

Function Documentation

◆ autoscaling()

void cv::intensity_transform::autoscaling ( const Mat  input,
Mat output 
)
Python:
None=cv.intensity_transform.autoscaling(input, output)

#include <opencv2/intensity_transform.hpp>

Given an input bgr or grayscale image, apply autoscaling on domain [0, 255] to increase the contrast of the input image and return the resulting image.

Parameters
inputinput bgr or grayscale image.
outputresulting image of autoscaling.

◆ BIMEF() [1/2]

void cv::intensity_transform::BIMEF ( InputArray  input,
OutputArray  output,
float  mu = 0.5f,
float  a = -0.3293f,
float  b = 1.1258f 
)
Python:
output=cv.intensity_transform.BIMEF(input[, output[, mu[, a[, b]]]])
output=cv.intensity_transform.BIMEF2(input, k, mu, a, b[, output])

#include <opencv2/intensity_transform.hpp>

Given an input color image, enhance low-light images using the BIMEF method ([267] [268]).

Parameters
inputinput color image.
outputresulting image.
muenhancement ratio.
aa-parameter in the Camera Response Function (CRF).
bb-parameter in the Camera Response Function (CRF).
Warning
This is a C++ implementation of the original MATLAB algorithm. Compared to the original code, this implementation is a little bit slower and does not provide the same results. In particular, quality of the image enhancement is degraded for the bright areas in certain conditions.

◆ BIMEF() [2/2]

void cv::intensity_transform::BIMEF ( InputArray  input,
OutputArray  output,
float  k,
float  mu,
float  a,
float  b 
)
Python:
output=cv.intensity_transform.BIMEF(input[, output[, mu[, a[, b]]]])
output=cv.intensity_transform.BIMEF2(input, k, mu, a, b[, output])

#include <opencv2/intensity_transform.hpp>

Given an input color image, enhance low-light images using the BIMEF method ([267] [268]).

This is an overloaded function with the exposure ratio given as parameter.

Parameters
inputinput color image.
outputresulting image.
kexposure ratio.
muenhancement ratio.
aa-parameter in the Camera Response Function (CRF).
bb-parameter in the Camera Response Function (CRF).
Warning
This is a C++ implementation of the original MATLAB algorithm. Compared to the original code, this implementation is a little bit slower and does not provide the same results. In particular, quality of the image enhancement is degraded for the bright areas in certain conditions.

◆ contrastStretching()

void cv::intensity_transform::contrastStretching ( const Mat  input,
Mat output,
const int  r1,
const int  s1,
const int  r2,
const int  s2 
)
Python:
None=cv.intensity_transform.contrastStretching(input, output, r1, s1, r2, s2)

#include <opencv2/intensity_transform.hpp>

Given an input bgr or grayscale image, apply linear contrast stretching on domain [0, 255] and return the resulting image.

Parameters
inputinput bgr or grayscale image.
outputresulting image of contrast stretching.
r1x coordinate of first point (r1, s1) in the transformation function.
s1y coordinate of first point (r1, s1) in the transformation function.
r2x coordinate of second point (r2, s2) in the transformation function.
s2y coordinate of second point (r2, s2) in the transformation function.

◆ gammaCorrection()

void cv::intensity_transform::gammaCorrection ( const Mat  input,
Mat output,
const float  gamma 
)
Python:
None=cv.intensity_transform.gammaCorrection(input, output, gamma)

#include <opencv2/intensity_transform.hpp>

Given an input bgr or grayscale image and constant gamma, apply power-law transformation, a.k.a. gamma correction to the image on domain [0, 255] and return the resulting image.

Parameters
inputinput bgr or grayscale image.
outputresulting image of gamma corrections.
gammaconstant in c*r^gamma where r is pixel value.

◆ logTransform()

void cv::intensity_transform::logTransform ( const Mat  input,
Mat output 
)
Python:
None=cv.intensity_transform.logTransform(input, output)

#include <opencv2/intensity_transform.hpp>

Given an input bgr or grayscale image and constant c, apply log transformation to the image on domain [0, 255] and return the resulting image.

Parameters
inputinput bgr or grayscale image.
outputresulting image of log transformations.