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)
연산량 감소가 기본적인 이유이고
으로 줄어듦
'영상처리' 카테고리의 다른 글
[10월16일]IMAGE GEOMETRY (0) | 2018.10.21 |
---|---|
[10월4일]chapter5 - NEIGHBORHOOD PROCESSING - 3 (0) | 2018.10.06 |
[9월27일]chapter5 - NEIGHBORHOOD PROCESSING - 1 (0) | 2018.09.30 |
[9월27일]chapter4 - POINT PROCESSING 2 (0) | 2018.09.29 |
[9월20일]chapter4 - POINT PROCESSING 1 (0) | 2018.09.25 |