1. 영상의 크기 변환
: 늘려진 또는 줄여진 영상 픽셀의 갯수 만큼 순회를 하면서 해당 픽셀이 원본 영상의 어떤 픽셀의 값을 참조해야 되는지 알아내야 한다. 
이때 주변 픽셀들의 값을 이용하여 원하는 위치의 값을 추정하는 방법을 보간법 이라 한다.

1) 최근방 이웃 보간법
: 가장 가까운 픽셀의 값을 참조
-> 원본영상의 참조 좌표를 계산했더니 (50.2, 32.8)로 나왔다면 (50. 33)의 픽셀값을 그대로 사용하는 것이다.
: 동작이 빠르지만, 픽셀값이 급격히 변하는 계단현상(블록현상)이 나타날 수 있다.



(C)에서와 같이 계단현상이 나타난다.


2) 양선형 보간법 
: 실수 좌표를 둘러싸고 있는 네개의 픽셀값에 가중치를 곱한 값들의 선형 합으로 결과 영상의 픽셀값을 구함.
: 계단현상이 많이 완화되고 구현방법도 비교적 간단하다.

위 그림과 같이 총 3번의 선형보간을 수행한다. 

3) 3차 회선 보간법
: 가중치 함수를 정의하고, 원본영상의 주변 픽셀 값에 가중치를 곱한 값을 모두 합하여 픽셀값을 계산하는 방법이다. 

1 - 양선형 보간법과 마찬가지로 각 행에 대한 보간 수행
2 - 1에서 구해진 값들을 이용해서 열에 대한 보간 수행

위 그림과 같이 16개의 픽셀 값을 참조하기 때문에 행보간 4번, 열보간 1번, 총 5번의 보간을 수행한다. 

* 영상 축소시 고려할 사항
: 영상을 큰 비율로 축소할 경우 한, 두 픽셀로 구성된 점 또는 선이 사라질 수 있다. 양선형 보간법 이나 3차 회선 보간법을 사용하면 조금 나아지겠지만, 축소 비율이 커질 경우 동일한 문제점이 발생할 수 있다. 
이러한 현상을 방지하려면, 영상 축소전에 입력영상을 부드럽게 변환하는 것이 좋다.


2. 영상의 회전 변환
: 원점(0, 0)을 기준으로 특정 각도만큼 회전시키는 변환을 의미한다. 

1) 임의의 각도 회전
: 시계방향으로 회전한다고 가정하고 설명하겠다.

(x, y)는 입력 영상의 좌표이고, (x`, y`)는 회전 변환된 결과 영상의 좌표이다.

회전 변환을 구현할 때에도 역막향 매핑을 사용해야 비어 있는 픽셀이 생기지 않는다. 그러므로 결과 영상의 픽셀 좌표에서 원본 영상의 픽셀 좌표를 계산해야 하며 계산 식은 다음과 같다.


2) 특수 각도 회전
: 90, 180, 270도 회전 변환의 경우, sin, cos 함수의 값이 정수로 결정된다. 그러므로 삼각함수를 호출하지 않는 별도의 함수를 구현해서 사용하는 것이 좋다. 

- 90도 회전

- 180도 회전

- 270도 회전


Posted by 홍성곤
,