OpenCV 标准化图像
Ammar Ali
2022年5月17日
本教程将讨论在 Python 中使用 OpenCV 的 normalize()
函数对图像进行标准化。
在 Python 中使用 OpenCV 的 normalize()
函数规范化图像
图像处理中的归一化用于改变像素的强度级别。它用于在由于眩光而对比度差的图像中获得更好的对比度。
我们可以使用 OpenCV 的 normalize()
函数来规范化图像。normalize()
函数的第一个参数是我们想要标准化的源图像。
第二个参数是目标图像,创建具有我们所需尺寸或大小的输出图像。第三个参数是我们想要标准化图像的范围的下限值。
第四个参数是我们想要标准化图像的范围的上限值。第五个参数是归一化类型,如 cv2.NORM_INF
、cv2.NORM_L1
和 cv2.NORM_MINMAX
。
每个归一化类型都使用其公式来计算归一化。第六个参数用于设置输出图像的数据类型。
第七个参数用于创建一个掩码,当我们不想标准化整个图像时它很有用。相反,我们只想规范化图像的一部分。
我们可以在掩码中定义该部分,以便仅对掩码部分执行归一化。
例如,让我们使用 normalize()
函数减少图像中的眩光。请参阅下面的代码。
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()
输出:
我们可以根据给定的图像更改参数和归一化类型以获得所需的输出。
默认情况下,alpha 值为 1,beta 值为 0。默认情况下,标准化类型设置为 cv2.NORM_L2
。如果我们不为这些参数定义值,函数将使用默认值。
Author: Ammar Ali