컨볼루션(convolution) 필터링에 기본 개념이나 공식은 인터넷을 찾아보면 많이 나와있다.
행렬을 만들어서 필터링 되는 기본적인 과정을 보려고 한다.
먼저 3x3평균 필터링 결과이다.
pMatA 행렬(6x6)에다가 3x3행렬 W=[1/9 1/9 1/9; 1/9 1/9 1/9 ; 1/9 1/9 1/9 ] W 행렬을 평균 필터링 한 결과
pMatB 행렬이 나왔다.
= w 행렬이 = pMatA 를 지나가는데
w의 중심점 2행,2열을 w(0, 0) 라고 하면
w(-1, -1) w(0, -1) w(1, -1)
w(-1, 0) w(0, 0) w(1, 0)
w(-1, 1) w(0, 1) w(1, 1) 과 같이 위치가 정해진다.
pMatA에서 (0, 0) 자리에서 시작해서 평균화 시켜 가는 것이다.
빨간 화살표 방향으로 진행하면서 평균값을 w(0, 0)에 리턴한다.
의 평균은 약 2
그래서 pMatB의 (0, 0)의 값이 2가 되는 것이다. w행렬을 마스크라 할 수 있는데 이 마스크를 빨간 화살표 방향으로 진행한다.
그래서 pMatA의 행렬을 한줄한줄 바꿔 가는 것이다.
반응형
'IT > OpenCV' 카테고리의 다른 글
cvPyrSegmentation() 함수 not found (0) | 2014.12.19 |
---|---|
cvExtractSURF() 함수 에러 : OpenCV Error: The function/feature is not implemented ... (0) | 2014.12.19 |
OpenCV 함수 정리 (1) | 2014.12.19 |
반전영상 (0) | 2014.12.19 |
cvLUT를 사용한 반전영상 (0) | 2014.12.19 |