본문 바로가기
IT/OpenCV

컨볼루션 convolution(회선) 필터링 기본

by Jang HyunWoong 2014. 12. 19.

컨볼루션(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의 행렬을 한줄한줄 바꿔 가는 것이다. 

 

 

반응형