This tutorial will discuss normalizing an image using the
normalize() function of OpenCV in Python.
normalize() Function of OpenCV to Normalize an Image in Python
Normalization in image processing is used to change the intensity level of pixels. It is used to get better contrast in images with poor contrast due to glare.
We can use the
normalize() function of OpenCV to normalize an image. The
normalize() function’s first argument is the source image that we want to normalize.
The second argument is the destination image, creating an output image with our desired dimensions or size. The third argument is the lower value of range in which we want to normalize an image.
The fourth argument is the upper value of the range in which we want to normalize an image. The fifth argument is the type of normalization like
Every normalization type uses its formula to calculate the normalization. The sixth argument is used to set the data type of the output image.
The seventh argument is used to create a mask, and it is useful when we don’t want to normalize the whole image. Instead, we only want to normalize a portion of the image.
We can define that portion in the mask so that normalization will only be performed on the masked portion.
For example, let’s reduce the glare present in an image using the
normalize() function. See the code below.
import cv2 import numpy as np image = cv2.imread("glare2.jpg") image_norm = cv2.normalize(image, None, alpha=0,beta=200, norm_type=cv2.NORM_MINMAX) cv2.imshow('original Image', image) cv2.imshow('Normalized Image', image_norm) cv2.waitKey(0) cv2.destroyAllWindows()
We can change the arguments and the normalization type according to the given image to get the desired output.
By default, the alpha value is 1, and the beta value is 0. By default, the type of normalization is set to
cv2.NORM_L2. If we don’t define the values for these arguments, the function will use the default values.