C언어를 이용한 Image Rotation & Interpolation
- 최초 등록일
- 2009.12.31
- 최종 저작일
- 2009.06
- 15페이지/ 한컴오피스
- 가격 10,000원
소개글
디지털영상처리 과제입니다.
최대한 알기 쉽게 작성하였습니다.
목차
1. 이론
(1) Image Rotation
(2) Interpolation
2. 내용
(1) Image Rotation
(2) Bilinear Interpolation
(3) B-Spline Interpolation
3. 결과 분석
(1) Image Rotation
(2) Bilinear Interpolation
(3) B-Spline Interpolation
본문내용
1. 이론
(1) Image Rotation
Image Rotation은 cos와 sin을 통하여 배열에 저장된 pixel들을 회전 시키는 것을 말한다. 우리가 흔히 이미지 툴로 사용 하는 포토샵에 보면 Rotate 라는 곳에 이미지를 회전시키는 기능들이 있다. 포토샵에서는 클릭 하나로 끝나지만 이번 실습을 통하여 어떠한 알고리즘을 가지고 이미지가 회전 되는지 알아보았다.
Image Rotation 의 원리는 우리가 고등학교 시절에 배운 행렬의 연산 응용에 등장 한다. 그 수식은 아래와 같다.
위의 식은 θ의 값에 따라 pixel의 좌표 값을 변화 시켜 준다. 여기서 Image Rotation의 특징이 나타나는데, 우리가 지금 까지 배워왔던 것과 다른 점은 pixel에 저장된 값을 처리하는 것이 아니라 pixel의 좌표 값을 처리하는 것이다. 즉 pixel의 명암 값은 보존하고 위치 값만 변환 시킨다. 그런데 Image Rotation은 회전 할 경우 이미지의 두 가지 유형의 손상이 생긴다. 하나는 삼각함수를 계산함에 있어 계산 결과로 나오는 위치 값을 정수화 시켜주다 보니 손실되는 위치 정보가 생겨 계단현상이 발생 하는 것이고, 또 하나는 사이즈를 보존하며 회전 시킬 경우 이미지의 꼭지점 부분이 잘려나가는 것이다.
(2) Interpolation
앞에 설명한 Image Rotation과 Interpolation은 이미지의 기하학적 처리 영역에 속하는 분야이다. 우리가 어떠한 이미지를 편집할 때 회전만큼 많이 사용하게 되는 것이 확대가 아닐까 한다. 그런데 포토샵이나 전문적인 이미지 툴에서 확대를 하면 이미지 확대 후 발생하는 계단 현상을 smoothing을 통하여 보정해 주거나 anti-aliasing 기능을 통하여 자연스럽게 처리해 주지만 그림판이나 아니면 아주 고배율로 확대하게 되면 pixel들이 커지면서 계단 현상이 나타나게 된다. 이러한 이유는 모두 Interpolation의 알고리즘에 그 원인이 있다.
참고 자료
없음