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