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