영상처리
[영상처리] MATLAB 기하학적 변환 - 데이터 & 영상의 보간(Interpolation)
on_doing
2020. 10. 9. 19:48
728x90
0. 데이터의 보간
*보간(Interpolation)?
- 주위의 값을 근거로 함수 값을 추정하는 것
1. 최근접 보간
- 가장 가까운 x의 값을 취하는 방법
2. 선형(linear) 보간
- 원래의 함수 값들을 직선으로 연결하고,
그 직선 위의 값을 선택하는 방법
* 삼각형의 닮은 꼴을 사용한다
3. 영상 보간
4X4 영상을 보간하여 8X8 영상을 생성하려고 할때!!!!
↓
↓
(1) 최근접 보간
(2) 양선형 보간
- 원하는 점을 투향 시키고 직선의 방적식 구하고 그 선 위에 있음을 앎
(3) imresize 함수
imresize(A,K,'method')
imresize(A,[m,n],'method')
* K : 스케일링 계수
* [m,n] : 변경할 영상의 크기
* 'method' : 사용할 보간 방법 명칭('nearest','bilinear','bicubic')
c=imread('cameraman.tif');
head=c(33:96, 90:153); # 행축의 33:96 과 열 축의 90:153 안에 있는 부분
figure, imshow(head);
head4n=imresize(head, 4, 'nearest'); #4배,최근접 보간
figure; imshow(head4n);
head4b=imresize(head, 4, 'bilinear'); #양선형 보간
figure; imshow(head4b);
1> nearest : 최근접 보간
-> 원하지 않는 블록 효과가 나타남. 특히, 에지가 톱날 모양으로 나타나게됨
(밝기 값이 급격히 변경되기 때문 - 조금만 옆으로 움직여도 또 다시 새로운 근접 값으로 바뀜)
2> bilinear : 양선형 보간
-> 영상이 부드럽지만 약간 흐려지게됨
(밝기 값이 주변 픽셀들의 밝기 값의 편균으로 계산되기 때문)
728x90