728x90
함수 설명
Min-Max Normalization은 가장 많이 사용하는 정규화 방법입니다.
이미지마다 제각각의 픽셀 값의 범위를 가지고 있을경우, 이를 이미지의 최대, 최소 픽셀값을 이용해 [0-1] 사이로 통일시켜줄때 사용합니다.
위의 수식을 이용하여 이미지의 최소값이 0, 최대값이 1이 되도록 픽셀 값을 조정합니다.
코드 설명
python3 기반 numpy 라이브러리를 사용했습니다.
min_value = np.min(image)
max_value = np.max(image)
output = (image - min_value) / (max_value - min_value)
이미지의 최소, 최대 픽셀값을 구한 뒤, 수식처럼 최소값을 빼고 (최대-최소) 값으로 나누어줍니다.
예제
import cv2
import numpy as np
import matplotlib.pyplot as plt
image = cv2.imread("test.jpg")
min_value = np.min(image)
max_value = np.max(image)
output = (image - min_value) / (max_value - min_value)
plt.subplot(2, 1, 1)
plt.hist(np.ravel(image), bins=32)
plt.title('Before')
plt.subplot(2, 1, 2)
plt.hist(np.ravel(output), bins=32)
plt.title('After')
plt.subplots_adjust(hspace=0.5)
plt.show()
normalization을 한 뒤, pixel value의 분포가 0-1 사이로 바뀐것을 확인 할 수 있습니다.
728x90
'Image Processing (Python)' 카테고리의 다른 글
Image Read (이미지 불러오기) (0) | 2021.11.11 |
---|---|
Invert (색반전) (0) | 2021.11.10 |
Zero Padding (0) | 2021.11.09 |
Z-Score Standardization (표준화) (0) | 2021.11.08 |
Resize (0) | 2021.11.03 |
댓글