영상처리 기초영상처리 기초
Posted at 2008/05/04 05:30 | Posted in Team Project1. 영상처리란 무엇인가?
그림을 다루는 학문이다. 흔히 컴퓨터 그래픽스와 혼동된다.
영상처리 알고리즘들을 분류하는 기본적인 분류 방법은 네가지가 있다.
포인터 처리-화소의 원래 값이나 위치에 기반한 화소값을 변경한다.
영역처리-화소의 원래의 값과 이웃하는 화소의 값을 기반으로 하여 화소값을 변경한다.
기하학적 처리- 화소들의 위치나 배열을 변화시킨다.
프레임처리-두 개 이상의 영상들에 대한 연산을 기반으로 하여 화소값들을 생성한다.
2. 포인터처리
룩업테이블 - 배열의 인덱스로 화소값을 사용하는 배열이다.
히스토그램 - 영상의 명암값 프로필(profile)을 보여주기 위해 사용되는 도구이다.
2.1 산술연산을 이용한 포인터 처리
<입력 영상> <영상 +40>
2.2 히스토그램 평활화(spreading)
- 히스토그램 평활화는 3 단계로 이루어 진다.
1. 히스토그램을 생성한다.
2. 히스토그램의 정규화된 합을 계산한다.
3. 입력영상을 변형하여 결과 영상을 생성한다.
2.3 히스토그램 명세화(specification)
히스토그램 평활화는 히스토그램이 균일한 분포를 가지도록 근사시킨다.
2.4 명암 대비 스트레칭(constrast stretching)
-명암 대비 스트레칭의 두 종류
1.기본 명암 대비 스트레칭 - 특정 부분, 즉 중앙에 명암값이 치우치는 히스토그램을 가진 영상에 가장 잘 적용 된다
2.앤드인 탐색(ends-in search) - 모든 범위의 명암값을 갖지만 히스토그램의 특정 부분에 화소들이 치우친 영상에 가장 잘 적용 된다.
알고리즘은 두 개의 임계값(낮은 임계값 low 와 높은 임계값 high)을 사용하며,
먼저 낮은 임계값을 발견하기 위해서 히스토그램을 조사한다.
2.5 명암 변환
명암 변환은 미리 지정된 함수를 기반으로 하여 이전 화소를 새로운 화소로 변환하는 포인터 처리이다.
3. 기하학적 처리
영상의 기하학적 변환(Geometric Transform)
입력 영상 안에 있는 픽셀들의 좌표값(x,y)를 수학적 변환을 통하여 출력 영상안 의 새로운 값(x’,y’)로 재배치
어파인(Affine) 변환 : 처리된 영상에 굴곡을 가져오지 않는 이동, 회전, 축척 등을 포함하는 선형 기하학적 연산
굴곡(Wraping) 변환 : 처리된 영상에 왜곡을 가져올 수 있는 비선형적 변환
보간법(Interpolation) : 특정위치에서의 픽셀값을 주변 픽셀값의 정보를 이용하여 추정하는 방법
영상의 이동 변환
이동 변환(Translation transform)
영상을 특정 크기만큼 가로 또는 세로 방향으로 이동시키는 변환
이동변환에 의해 생겨난 결과 영상의 크기는 원본 영상이 크기와 동일
원본크기를 빠져나가는 픽셀은 없어지고 새로 생겨난 빈 공간들은 특정 픽셀값으로 채워진다.
영상의 크기 변환
크기 변환(Scale transform)
영상의 크기를 원본 영상보다 크게 또는 작게 만드는 변환
- 입력영상의 크기는 w*h
- 확대된 영상의 크기는 nw*nh
- Sx(가로방향의 확대비율)=nw/w
- Sy(세로방향의 확대비율)=nh/h
순방향 매핑(forward mapping)
입력 영상의 각 픽셀을 픽셀 단위로 출력 영상의 새로운 위치로 변환
역방향 매핑(Reverse, backward mapping)
출력 픽셀 좌표에서 입력 좌표를 정의하는 좌표변환을 사용
결과 영상의 픽셀에서 입력 영상의 픽셀 위치를 찾아 그 위치에서의 픽셀 값을 복사해오는 방법을 사용 결과 영상 크기 만큼의 for문을 수행하면서 입력 영상의 픽셀 값을 참조
순방향 매핑(forward mapping)의 문제점
빈 홀(hall)이 생김 ( 역방향 매핑(backward mapping) 으로 해결 )
for( j = 0 ; j < h ; j++ )
for( i = 0 ; i < w ; i++ )
{
ptr2[2*j][2*i] = ptr1[j][i];
}
보간법(Interpolation)
실수 좌표 상에서의 픽셀 값을 결정하기 위해 주변 픽셀 값을 이용하여 값을 추정하는 방법
최근방 이웃 보간법(Nearest neighbor interpolation)
가장 가까운 위치에 있는 픽셀의 값을 참조하는 방법
예: (50.2, 32.8) (50, 33)
장점: 빠르고 구현하기가 쉽다
단점: 계단 현상
양선형 보간법(Bilinear interpolation)
실수 좌표를 둘러싸고 있는 네 개의 픽셀 값에 가중치를 곱한 값들의 선형 합으로 결과 영상의 픽셀 값을 구하는 방법
최근방 이웃 보간법에 비해서는 느린 편이지만, 비교적 빠른 편에 속하며 계단 현상이 많이 감소
3차 회선 보간법(Cubic convolution interpolation)
실수 좌표를 둘러싸고 있는 16개의 픽셀 값에 3차 함수를 이용한 가중치를 부여하여 결과 영상 픽셀의 값을 계산
영상의 축소 시 고려할 사항
한 픽셀로 구성된 선분들은 영상을 축소할 때 사라지는 경우가 발생
입력 영상을 부드럽게 필터링한 후 축소
영상의 회전 변환
회전 변환(rotation transform)
영상을 특정 각도만큼 회전시키는 변환
영상을 원점 (0, 0)을 기준으로 x만큼 회전하는 경우,
- 양방향 매핑을 사용하여 비어있는 픽셀이 생기지 않도록 한다.
기하학적 변환의 응용
모핑(morphing)
- 한 영상에서 다른 영상으로 부드럽게 변화하여 한 물체가 다른 물체로 점진적으로 변형되는 듯한 착각을 만드는데 사용
디졸브(Dissolve) 기법
- 입력 영상에서 픽셀값을 더하거나 빼서 목표 영상의 픽셀값과 같아질때까지 연산을 계속해서 입력연산을 점진적으로 흐리게 하면서 출력 영상을 점점 밝게 나타나게 하는 것
페이드(fade) 기법
