OpenCV 标准化图像

Ammar Ali 2022年5月17日
OpenCV 标准化图像

本教程将讨论在 Python 中使用 OpenCV 的 normalize() 函数对图像进行标准化。

在 Python 中使用 OpenCV 的 normalize() 函数规范化图像

图像处理中的归一化用于改变像素的强度级别。它用于在由于眩光而对比度差的图像中获得更好的对比度。

我们可以使用 OpenCV 的 normalize() 函数来规范化图像。normalize() 函数的第一个参数是我们想要标准化的源图像。

第二个参数是目标图像,创建具有我们所需尺寸或大小的输出图像。第三个参数是我们想要标准化图像的范围的下限值。

第四个参数是我们想要标准化图像的范围的上限值。第五个参数是归一化类型,如 cv2.NORM_INFcv2.NORM_L1cv2.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
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - Python OpenCV