filter2D
void cv::filter2D(
Mat src,
Mat dst,
int ddepth,
Mat kernel,
Point anchor = Point(-1,-1),
double delta = 0,
int borderType = BORDER_DEFAULT
)
void Cv2.Filter2D(
Mat src,
Mat dst,
MatType ddepth,
Mat kernel,
Point? anchor = null,
double delta = 0,
BorderTypes borderType = BorderTypes.Reflect101
)
dst = cv2.filter2D(
src,
ddepth,
kernel,
anchor = None,
delta = None,
borderType = None
)
Note:
2D 필터는 콘벌루션(convolution) 연산이 아닌 상관관계(correlation)를 계산합니다.
Tip:
커널(Kernel)이 11 × 11 보다 큰 경우에는 이산 푸리에 변환(Discrete Fourier Transform) 알고리즘을 사용하며, 11 × 11 보다 작은 경우에는 다이렉트(DIRECT) 알고리즘을 사용합니다.
2D 필터 계산식(2D Filter Formula): $$ \text{dst} (x,\ y) = \sum_{ \substack{ 0\leq x' < \text{kernel.cols} \\ {0\leq y' < \text{kernel.rows}}}} \text{kernel} (x',\ y') \cdot \text{src} (x+x'- \text{anchor}.x, \ y+y'- \text{anchor}.y) $$
요약(Summary)
입력 이미지에 임의의 선형 필터를 이미지에 적용합니다.
매개변수(Parameter)
입력 이미지(src)
임의의 선형 필터를 적용하려는 입력 이미지
출력 이미지(dst) 임의의 선형 필터가 적용된 이미지
출력 이미지 정밀도(ddepth)
출력 이미지의 정밀도 설정
커널(kernel)
임의의 선형 필터를 적용하려는 단일 채널 부동 소수점 행렬
고정점(anchor)
필터의 상대적 위치를 나타내는 커널의 중심부
오프셋(delta)
필터링 된 픽셀에 더해지는 값
외삽 방식(borderType)
이미지 밖의 픽셀을 외삽하는데 사용되는 방식
반환값(Returns)
출력 이미지(dst) 임의의 선형 필터가 적용된 이미지