본문 바로가기
Study/파이썬

scipy.signal의 convolve2d Vs ndimage.convolve

by ChatBotBunny 2024. 9. 30.

1) scipy.signal.convolve2d
- 신호 처리 분야에서 주로 사용되는 컨볼루션 연산
- 입력 이미지와 커널(kernel)을 사용하여 컨볼루션을 수행
- 패딩(padding) 방법과 출력 크기를 지정 가능 
- 주로  신호 처리에 사용

ex) 

from scipy.signal import convolve2d

# Example usage:
kernel = np.array([[0, -1, 0], [-1, 4, -1], [0, -1, 0]])
image = np.random.rand(5, 5)

result = convolve2d(image, kernel, mode='same', boundary='symm')

 

2) scipy.ndimage.convolve
- 다차원 컨볼루션 연산 가능. 
- 입력 이미지와 커널을 사용하여 컨볼루션을 수행하며, 패딩 방법을 지정할 수 있음.
- 주로 이미지 필터링이나 이미지 프로세싱에 사용

ex)

from scipy.ndimage import convolve

# Example usage:
kernel = np.array([[0, -1, 0], [-1, 4, -1], [0, -1, 0]])
image = np.random.rand(5, 5)

result = convolve(image, kernel, mode='constant', cval=0.0)