Kernel (image processing)
In image processing, a kernel, convolution matrix, or mask is a small matrix useful for blurring, sharpening, embossing, edge-detection, and more. This is accomplished by means of convolution between a kernel and an image.
-위키백과
컨볼루션 매트릭스 또는 마스크라고 한다.
blurring, sharpening, embossing, edge-detection, and more ... 등 여러 분야에 사용이 된다.
Original | ||
Edge-Detect | ||
Sharpen | ||
Blur* | ||
(기법) (마스크) (결과 이미지)
첫 번째 보이는 것이 Original 이미지 이다. 마스크를 3x3에서 (2, 2) 만 1로 놓고 이미지에 컨볼루션 하면 그냥 오리지날 이미지가 나온다는 뜻이다.
실제 매트릭스를 보면서 계산을 하면 쉽게 이해가 될 것이다. (작은 연산은 손으로도 가능하다.)
이러한 개념을 이해 하려면 공간 필터링(Spatial Filtering)에 대해서 알아야 하는데 어렵지 않다.
공간 필터링 중 선형 공간 필터링이 있다. (푸리에 변환 참조)
이웃의 각 화소를 대응하는 계수로 곱하고 그 결과들을 더해서 각 점(x, y)에서의 응답을 얻는 것을 기본으로 한다.
여기서 화소는 예를 들어 기본 이미지의 벡터값이라 하고 계수라는 것은 마스크라고 할 수 있다.
컨볼루션 필터 라고도 한다.
이러한 것은 필터 마스크를 영상위에서 한점씩 이동시키면서 계산을 하는 것으로 여러가지 이미지를 표현 할 수 있다.
그렇기 때문에 마스크의 특성에 따라 이미지를 선명하게, 흐리게, 엣지검출을 할 수 있다.
왜냐하면 이미지의 벡터 값을 마스크로 계산을 해서 적용시키기 때문에
만약 경계가
... 0 0 0 1 1 1 ... 이러한 벡터 이미지가 있다면 마스크가 지나가면
... 0 0.2 0.5 0.5 0.7 1 ... 이렇게 변할 수 있다.
그렇게 되면 흰색, 검은색이 흰색, 회색, 검은색 이렇게 변하면서 blur 효과를 볼 수 있다.
'IT > OpenCV' 카테고리의 다른 글
cvLUT를 사용한 반전영상 (0) | 2014.12.19 |
---|---|
영상을 행렬로, 행렬을 영상으로... (0) | 2014.12.19 |
PDB 파일을 찾거나 열 수 없습니다 (0) | 2014.12.19 |
영상 카메라 띄우기 (0) | 2014.12.19 |
lifecam hd-3000 test on vs2010 (1) | 2014.12.19 |