기하학은 도형을 수학적으로 표현하는 학문이다. 이를 활용하여 디지털 영상의 화소(픽셀) 데이터를 조작하면, 다양한 방식으로 영상을 처리할 수 있다. 이번 포스터에서는 기하학적 변환을 이용한 영상처리 기법 중 확대 축소에 대해 알아보겠다.
1. 기하학적 처리란?
기하학적 처리는 영상의 화소 위치를 변환하는 작업을 말한다. 대표적으로 확대, 축소, 회전, 이동과 같은 변환이 포함된다. 이 과정을 통해 영상의 모양을 변형하거나 원하는 크기와 위치로 조정할 수 있다.
2. 확대(픽셀 복제 방법)
확대는 영상의 크기를 키우는 작업이다. 이는 주어진 픽셀 값을 복사하여 해상도를 높이는 방식으로 구현할 수 있다.
예를 들어, 아래와 같은 픽셀 배열이 있다고 가정해보겠다:
100 | 110 |
120 | 130 |
이 배열을 2배로 확대하려면, 각 픽셀 값을 복사하여 배열의 크기를 확장하면 됩니다. 결과는 다음과 같다:
100 | 100 | 110 | 110 |
100 | 100 | 110 | 110 |
120 | 120 | 130 | 130 |
120 | 120 | 130 | 130 |
위와 같은 단순 복사 방식은 빠르고 간단하지만, 픽셀 경계가 도드라져(계단 현상 발생) 매끄럽지 않은 이미지를 생성할 수 있다. 또한 확대 배율이 실수인 경우 처리가 어렵다는 문제점이 있다.
이러한 문제를 해결하기 위해 고품질의 확대를 위해서는 양선형 보간법이라는 것이 있다.
3. 확대(역방향 사상과 양선형 보간법)
이전 단순 복제 방식의 단점을 보완하기 위해, 확대 작업에서 역방향 사상(Backward Mapping)과 양선형 보간법(Bilinear Interpolation)을 결합한 방법을 사용할 수 있다. 이 방식은 출력 이미지의 화소 값이 매끄럽고 자연스러운 결과를 생성하며, 다양한 확대 배율에서도 높은 품질을 유지한다. 전자는 양선형 보간법을 사용하기 위해 사용하는 것이다.
3.1. 역방향 사상을 통한 확대
역방향 사상은 이미 확대를 한 출력 이미지의 좌표에서 원본 이미지의 좌표를 역으로 계산하여 값을 가져오는 방식이다. 확대의 경우, 출력 화소의 위치를 원본 이미지의 위치로 변환하고, 그 위치에서 적절한 값을 찾아 출력 이미지에 할당한다. 이 방법은 매끄럽고 자연스러운 확대 이미지를 생성하기 위해 사용되며, 특히 확대 배율이 실수인 경우에도 정확한 결과를 보장한다.
- 변환 공식:
- 가로 및 세로 비율을 각각 Sx, Sy라고 하면, 출력 이미지의 화소 좌표 (x', y')는 원본 이미지의 좌표 (x,y)와 다음 관계를 가지게 된다.
- 계산된 좌표의 성격: (x, y)는 보통 실수 값으로 나타나며, 원본 이미지의 정수 화수 값 사이에 위치한다. 따라서 , 정확한 값을 얻기 위해 보간법을 사용하게 된다.
3.2. 양선형 보간법
양선형 보간법은 계산된 실수 좌표 (x, y)를 기준으로 주변 4개의 화소 값을 가중 평균하여 최종 값을 결정한다. 이 방법은 화소 값 간의 선형적 관계를 반영하므로, 단순 복제보다 부드럽고 자연스러운 확대 결과를 제공한다.
과정:
1. 주변 화소 찾기:
(x, y)가 속하는 정수 좌표 영역의 4개 화소 값을 확인한다.
2. 수평 방향 보간:
해당 행에서 두 개의 화소 값을 선형적으로 보간한다.
3. 수직 방향 보간:
두 결과를 다시 선형적으로 보간하여 최종값을 계산한다.
여기서
는 실수 좌표(x, y)가 정수 좌표 사이에 위치하는 비율을 의미한다.
3.3. 실제 사용법
실제로 어떻게 사용되는지 알아보도록 하자. 원본이미지가 위와 같다. 만약에 2배 확대를 한다고 할 때 다음과 같이 표현할 수 있다.
이것을 계속해서 하게 되면 결국 다음과 같은 방식으로 이미지가 나타나게 된다.
이것의 장점은 경계성이 부드럽고 자연스러운 이미지를 생성할 수 있다. 하지만 계산량이 많아 단순 복제 방식보다 속도가 느리며 보간법에 한계로 인해 고배율 확대는 약간의 흐릿함이 생길 수 있는 단점이 있다. 이 방법은 그 반대쪽에 있는 픽셀을 가져와서 계산한 것으로 다른 방법도 사용할 수 있다.
4. 축소 (서브샘플링 방법 이용)
축소는 어떻게 할까? 여러가지 방법이 있다. 가장 간단한 방ㅂ버으로 이미지를 특정 비율로 축소하면서 건너뛰는 방식으로 픽셀 값을 선택할여 새로운 이미지를 생성하는 방법이다.
이 방법은 예로 들어 x,y 방향으로 2배씩 축소하려면, 원본 이미지에서 모든 짝수 행과 짝수 열에 있는 화소만을 선택하여 새로운 이미지에 복사하는 방법을 사용한다.
이 방법의 문제점은 디테일의 손실이 있으며, 모아레 효과가 나타날 확률이 있다.
5. 축소 (평균값 필터링 방법 이용)
위의 방법의 단점을 해결하기 위해서 평균값 필터링 방법을 사용하는 것도 나쁘지 않다. 평균값필터링은 다음 처럼 평균을 적용시켜 값을 대체하는 것이다.
'Computer Science(컴퓨터 과학) > 영상처리' 카테고리의 다른 글
영상처리 - 워핑과 모핑 (1) | 2024.12.11 |
---|---|
영상처리 - 기하학적 처리2(회전, 역상) (0) | 2024.11.25 |
영상처리 정리1 (0) | 2024.10.20 |
영상처리 - 형태학적 처리 (침식 연산, 팽창 연산, 열림 연산, 닫힘 연산, 세포수 계산) (0) | 2024.10.15 |
영상처리 - 영역기반 처리3 (잡음 제거, 컬러영상에서 영역 기반 처리) (0) | 2024.10.10 |