[python] NumPy에서 이미지 처리를 위한 기능이 있는지 궁금합니다.

NumPy는 다차원 배열을 다루기에 매우 효율적이며, 이미지를 다루는데에도 자주 사용됩니다. 다음은 NumPy를 사용하여 이미지를 처리하는 몇 가지 기능입니다:

  1. 이미지 로딩: NumPy는 numpy.ndarray 형식으로 이미지를 로드할 수 있습니다. numpy.ndimage.imread() 함수를 사용하여 이미지를 로드할 수 있습니다.
import numpy as np

image = np.ndarray.imread('image.png')
  1. 이미지 크기 변경: 이미지를 리사이징하거나 크기를 변경해야 할 때 NumPy를 사용할 수 있습니다. numpy.ndarray 객체의 shape 속성을 조정하여 이미지의 크기를 변경할 수 있습니다.
import numpy as np

resized_image = np.resize(image, (new_width, new_height))
  1. 이미지 필터링: NumPy는 이미지를 필터링하여 선명하게 만들거나 노이즈를 제거하는 데에도 사용될 수 있습니다. NumPy의 numpy.ndimage 모듈은 다양한 필터링 함수와 함께 제공됩니다. 예를 들어, median_filter() 함수를 사용하여 이미지의 노이즈를 제거할 수 있습니다.
import numpy as np
from scipy import ndimage

denoised_image = ndimage.median_filter(image, size=3)
  1. 이미지 변환: NumPy를 사용하여 이미지를 회전, 반전 또는 어파인 변환 등 다양한 변환을 수행할 수 있습니다. scipy.ndimage.rotate() 함수를 사용하여 이미지를 회전할 수 있습니다.
import numpy as np
from scipy import ndimage

rotated_image = ndimage.rotate(image, angle=45)

NumPy는 이미지 처리 작업에 효율적이고 강력한 도구입니다. 또한 OpenCV와 함께 사용하면 더욱 다양한 이미지 처리 기능을 제공할 수 있습니다.