numpy.clip(), 배열의 최대/최소 값 지정

numpy.clip()은 배열에서 최대 값과 최소 값을 지정하여, 이 범위 내에 숫자가 포함되도록 만듭니다.

예를 들어, arr 배열에서 -2에서 2까지 숫자 범위를 제한하여 arr2 처럼 만들 수 있습니다.

arr: [-3 -2 -1  0  1  2  3  4  5]
arr2: [-2 -2 -1  0  1  2  2  2  2]

1차원 배열의 최대, 최소 값 지정

numpy.clip(arr, min, max)는 배열 arr의 최소 값을 min, 최대 값을 max로 지정합니다. 이 값을 초과하거나 미만인 값은 max, min으로 변경됩니다.

import numpy as np

arr = np.array([-3, -2, -1, 0, 1, 2, 3, 4, 5])
clipped_arr = np.clip(arr, -2, 2)

print("arr:", arr)
print("clipped arr:", clipped_arr)

Output:

arr: [-3 -2 -1  0  1  2  3  4  5]
clipped arr: [-2 -2 -1  0  1  2  2  2  2]

다차원 배열의 최대, 최소 값 지정

1차원 배열 뿐만 아니라, 2차원 배열도 동일한 방법으로 최소, 최대 값을 지정할 수 있습니다.

import numpy as np

arr = np.array([[1, 2, 3],
                [4, 5, 6],
                [7, 8, 9]])
clipped_arr = np.clip(arr, 3, 7)

print(clipped_arr)

Output:

[[3 3 3]
 [4 5 6]
 [7 7 7]]

RGB 이미지 채널 값 범위 제한

clip()을 응용하여 RGB 이미지의 채널 값을 제한하는데 사용할 수도 있습니다.

import numpy as np
import matplotlib.pyplot as plt

# RGB 이미지 로드
img = plt.imread('image.png')

# 범위 지정
clipped_img = np.clip(img, 0, 1)

# 출력
plt.imshow(clipped_img)
plt.show()
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha