mask값들의 합이 1인지 0인지에 따라 low-pass filter(합이 1), high-pass filter(합이 0)로 나뉨

 

마스크가 이미지의 경계선을 넘어갈 경우 - zero padding, mirroring(symmetric)<-가장 보편적으로 사용, circular

 

 

 

위 세 방식은 가장자리를 제외한 나머지 요소들의 값들은 동일하게 나타남

 

추가 : 경계선의 요소는 계산하지 않고 (2,2)성분부터 계산하는 방식 - 이미지의 크기가 줄어들지만 가장 정확함

 

※ 매트랩에서는 default값이 zero padding임에 주의

 

size-option : same, valid(boundary-option의 의미가 없어짐, 크기가 줄어듦), full -> boundary-option이 더 중요

 

 

average filter : 모든 요소들의 합의 평균(low-frequancy)

bullering(뿌옇게 만듦), 필터 크기가 커질수록 더 흐려짐, 모든 성분들 합 1(low-frequancy)

 

Laplacian filter : 모든 성분의 합이 0, edge를 부각시키기 위해 사용(결과가 선으로 출력)

 

 

laplacian filter를 거친 후 픽셀간 변화량이 작았던 성분들의 변화량이 커짐

 

※ 변화가 많은 부분 -> 고주파 성분(edge)

average는 edge를 없애고 laplacian은 edge를 더 강조

Laplacian mask 적용시 저주파성분은 검정색으로 나타남 -> high-pass

 

Laplacian에 gaussian공식을 합친 Laplacian of Gaussian(log) filter가 더 좋은 결과를 보임

 

 

Filter처리에 따른 보정

1) 음수를 양수로 : 절댓값처리가 아닌 8bit만 가져감

 

2) clip values : 0(min)보다 작은건 0, 255(max)보다 큰건 255 <- 픽셀값의 범위에 따라 달라짐

 

3) 0~255 scale : 가장 작은 값을 0으로 가장 큰 값을 1로 -> double로 처리 할 경우

 

 

 

※ 매트랩의 imshow함수의 경우 uint8형으로 나타내는 함수이기 때문에 이미지가 잘 안보이는 경우가 생김

 

Gaussian (function)filter : 구하고자 하는 mask의 범위안의 원소들 중 가운데 원소의 값을 더 많이 할당하기 위해 사용

 

 

>>fspecial('gaussizn',3,σ) -> σ값이 작을수록 가운데가 뾰족, 클수록 뭉뚝해짐

 

 

중심에서 멀어질수록 값이 작아지는 것을 확인 할 수 있음

 

 

 

Gaussian filter가 우수한 이유

1) separable함 : average함수는 filter크기에 의해서만 정도를 조절할 수 있지만 gaussian은 σ값과 filter값 두 가지로 조절 가능

 

2) 대칭적

3) filter계수가 수식에의해 잘 정의됨

4) 두 번 적용하거나 한 번 적용하거나 같음

 

Separable Filters : 하나의 filter mask가 보다 간결한 2개의 연속적인 mask로 분리

f(x,y) - f1(X)f2(y)

 

 

연산량 감소가 기본적인 이유이고

 

 

으로 줄어듦

 

 

 

 

+ Recent posts