본문 바로가기

전체 글71

scipy.signal의 convolve2d Vs ndimage.convolve 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 - 다차원 컨볼루션 연산 가능.  - 입력 이미지와 .. 2024. 9. 30.
Sobel 필터, sharr 필터 1) 미분의 의미  - continous한 공간에서 함수 f(x)가 있을 때 임의의 점 x에서의 변화량(접선의 기울기)를 뜻합니다. - discrete한 공간에서는 x축 미분은 오른쪽 픽셀 값에서 현재 픽셀 값을 빼면 그게 미분(변화량)이 됩니다. y축 미분도 마찬가지이고, 미분의 방향을 바꿀 수도 있습니다. - 에지 :  에지는 영상에서 픽셀의 밝기 값이 급격하게 변하는 부분이므로 영상처리에서 미분은 에지를 검출하느데 사용함.  - x방향 미분은 y방향 미분을 나타내지 못하고 y방향 미분은 x방향 미분을 나타내지 못므로 2D 영상의 윤곽선 검출을 위해서는 두 미분을 합쳐서 사용함.  2) Sobel 필터  - 1차 미분을 필터로 표현하면 다음과 같음 [-1, 1] - 이것을 1*3으로 표현하면 아래와 .. 2024. 9. 30.
간단한 파이썬 클래스 구조 1. class 정의  class myClass: def __init__(self, 변수1, 변수2..): ~~~  def Function1(self, 변수1, 변수2, ...): ~~~ if __name__ == "__main__": ~~~  2. calss 밑에 함수를 정의함  *  def__init__(self, 변수)  *  그외 기타 함수  3. def __init__함수에서 변수를 초기화해준다.  - 초기화의 예 * 메모리의 크기 정의  ex) self.Image = np.zeros((y, x), dtype=np.float32) * 특정 값으로 초기화 해주고 싶은 경우  ex) self.Tap = 9   * 클래스 초기화 시 들어온 변수로 초기화 해주고 싶은 경우  ex) self.x = sa.. 2024. 9. 30.
Hamming Filter * Hamming Filter  - 신호의 끝 부분에서 발생하는 에일리어싱(aliasing) 현상을 줄이기 위해 사용  - Hamming Window :  w(k) = 0.5 * (1 - cos(2 * PI * k / (nFilterSize - 1)))    w(k)는 k 번째 샘플의 가중치(weight)를 나타내며, nFilterSize는 필터의 크기import numpy as npimport matplotlib.pyplot as pltfrom scipy.fftpack import fft, fftshift# Hamming Window 필터 생성def hamming_window(n_filter_size): return 0.5 * (1 - np.cos(2 * np.pi * np.arange(n_fil.. 2024. 8. 29.