Download presentation
Presentation is loading. Please wait.
1
멀티미디어 처리 강의자료 2.4: 영상 기하학적 처리
2
수업목표 및 내용 영상의 기하학적 처리에 대하여 이해한다. 실습 4: 영상 기하학적 변환 실습
영상 보간법 (interpolation) 영상의 확대 축소 영상의 회전 영상 미러링 실습 4: 영상 기하학적 변환 실습
3
영상의 기하학적 변환 개요 [영상의 기본적인 기하학적 변환]
4
영상의 기하학적 변환 개요 기하학적 처리 Scaling Rotation Translation
임의의 기하학적 변환에 의해 pixel들의 배치를 변경하는 처리 영상내에서 pixel들을 움직이거나 pixel들을 생성 (보간법) Scaling Rotation Translation
5
영상의 기하학적 변환 개요 (a) 원본영상 (b) 확대영상 그림 2-54: 영상의 기하학적 변환 (c) 축소영상
(d) 반시계방향으로 30도 회전영상
6
기본적인 기하학적 변환 평행 위치 이동 : 좌우 교환: 상하 교환: 크기 확대 및 축소: 영상의 회전:
7
기하학적 변환 – 순방향 및 역방향 사상 기하학적 변형 후의 영상을 만드는 방법으로 이를 만드는 방향에 따라
순방향 사상(Forward mapping): 원래의 이미지에서 목적 이미지로 구현하는 것 역방향 사상(Reverse mapping): 목적 이미지에서 원래 이미지로의 구현. 실제 구현에서 많이 사용하며, 이는 목적 이미지의 각 위치의 pixel값을 결정하면서 해당 목적 이미지로 매핑되는 원 이미지상의 좌표를 계산하여 해당 밝기값을 결정하면 되기 때문이다.
8
(a) 순방향 사상(forward mapping)
순방향 및 역방향 사상 순방향 사상 어떤 x와 y의 사상함수에 의해서 입력pixel가 출력pixel로 이동하는 것 문제점: 홀(hole)과 오버랩(overlap) 홀(hole): 정의되지 않은 pixel들로 목적pixel에 대응하는 원시pixel가 존재하지 않음 오버랩(overlap): 두 개의 입력pixel이 하나의 출력pixel에 대응 (a) 순방향 사상(forward mapping)
9
(b) 역방향 사상(reverse mapping)
전방향 및 역방향 사상 역방향 사상 출력(목적) 영상에서 원본 영상으로의 구현으로 실제 많이 사용 출력 영상의 각 위치의 pixel값을 결정하면서 해당 출력 영상이미지로 매칭되는 원본 영상의 좌표를 계산하여 해당 밝기값을 결정 홀과 중첩의 문제를 제거 (b) 역방향 사상(reverse mapping)
10
보간법(Interpolation) 기본 개념
어떤 점 (x, y)가 확대 축소되어 (X, Y)로 위치가 변하면 두 좌표 사이에는 X=ax, Y=by 의 관계 성립 a, b는 x와 y방향으로의 확대율 a, b가 1보다 큰 값을 가지면 확대, 작은 값을 가지면 축소 a=b=1/2 a=b=1 a=b=2
11
보간법
12
보간법 보간법은 없는 pixel 값을 주변 pixel값을 사용하여 얻는 방법으로 주변의 pixel들을 분석하여 새로운 pixel를 생성 인접pixel 보간법(Nearest neighbor interpolation) 양선형 보간법(Bilinear interpolation) 고차 보간법(Higher order interpolation)
13
가장 인접한 이웃pixel 보간법 개요 장점: 처리 속도가 빠르다 단점
생성된 주소에 가장 가까운 원시 pixel를 출력pixel로 할당 원시pixel에 대해 계산된 분수 주소는 가장 가까운 유효한 pixel 주소로 반올림 장점: 처리 속도가 빠르다 단점 톱니 모양으로 알려진 시각적인 뭉툭함 입력pixel에 대응하는 출력pixel들의 수가 클수록 영상의 질이 떨어짐 결과 영상이 상황에 따라 바뀔 수 있음
14
가장 인접한 이웃pixel 보간법 (a) (b)
4배 확대 ([x], [y]) ([x]+1, [y]) ([x], [y]+1) ([x]+1, [y]+1) (a) (b) [그림 2-56] 가장 인접한 이웃 pixel 보간법: (a) 가장 인접한 이웃 pixel 보간법; (b) 가장 인접한 이웃pixel 보간법으로 4배 확대한 경우의 예
15
[그림 2-57] 가장 인접한 이웃pixel 보간법 함수
보간 함수(1차원 보간 함수) 1 [그림 2-57] 가장 인접한 이웃pixel 보간법 함수
16
가장 인접한 이웃pixel 보간법 a=b=1/2 a=b=2 중심확대영상 (b) (c) (a)
확대 영상: (a) 1/2로 축소; (b) 2배로 확대; (c) 중심확대 영상
17
가장 인접한 이웃pixel 보간법 가장 간단한 방법이며, 처리속도가 빠르다.
새로운 pixel값이 계산될 수 없기 때문에, 모든 출력 pixel에 대응하는 pixel값은 입력pixel에서 찾아야 한다. 하나의 입력 pixel의 값을 갖는 출력 pixel들의 수가 많으면 많을 수록 출력은 더 나쁘게 보인다.
18
가장 인접한 이웃pixel 보간법 사상함수가 분수의 pixel 주소를 계산할 때 문제 발생. 예를 들면, 원시 주소를 정의하는 변환이 다음과 같다면, x_source = x_dest/2, y_source = y_dest/2 dest[0][0] = source[0][0]; dest[1][1] = ? floatx = x_mapping_function(x_dest); floaty = y_mapping_function(y_dest); x_source = (int) (floatx + 0.5); Y_source = (int) (floaty + 0.5);
19
양선형 보간법 (Bilinear Interpolation)
개요 새로운 pixel를 생성하기 위해 네 개의 가장 가까운 pixel들에 가중치를 곱한 값들의 합을 사용 각각의 가중치는 pixel로 부터의 거리에 반비례 가장 인접한 pixel 보간법보다 더 스무딩한 영상을 산출 상당히 많은 계산량 요구 : pixel당 3개의 일차 보간법
20
양선형 보간법 (Bilinear Interpolation)
([x], [y]) ([x]+1, [y]) ([x], [y]+1) ([x]+1, [y]+1) Q 1-Q 1-P P 4배 확대 (b) (a) [그림 2-59] 선형 보간함수에 의한 4배 확대한 경우의 예: (a) 양선형 보간법 개념도; (b) 양선형 보간법으로 4배 확대한 경우의 예
21
양선형 보간법 (Bilinear Interpolation)
선형 보간 함수 1 [그림 2-60] 양선형 보간법 선형 보간함수
22
[그림 2-61] 양선형 보간법에 의한 밝기값의 결정
양선형 보간법 (Bilinear Interpolation) 원시 pixel A B C D X E F X축 보간 pixel 최종 보간 pixel [그림 2-61] 양선형 보간법에 의한 밝기값의 결정
23
[그림 2-62] 양선형 보간법을 이용한 축소 및 확대 영상: (a) 1/2로 축소;
양선형 보간법 (Bilinear Interpolation) (a) a=b=1/ (b) a=b= (c ) 중심확대영상 [그림 2-62] 양선형 보간법을 이용한 축소 및 확대 영상: (a) 1/2로 축소; (b) 2배로 확대; (c) 중심확대 영상
24
고등차수 보간법 출력pixel를 생성하기 위해 16개의 가장 가까운 pixel 요구
3차 회선(cubic convolution)과 B-스플라인
25
영상 확대 및 축소 영상을 확대, 축소하는 기법 확대
확대(magnification), 스케일링 업(scaling up), 줌(zooming), 업샘플링(upsampling), 스트레칭(stretching) 축소 축소(minification), 스케일링 다운(scaling dawn), 데시메이션(decimation), 다운샘플링(dawn sampling), 쉬링킹(shrinking)
26
영상 스케일링 영상을 확대, 축소하는 기법 특징 스케일링 시 원래의 해상도를 향상시킬 수 없음
원래의 데이터보다 더 많은 데이터를 가지고 있지 않기 때문. 스케일링 연산이 원래 영상을 참조한다면, 결과 영상의 질 저하 Scaling으로 목적 주소 x 와 y를 나누어서 원시영상의 주소를 구하며, 그때의 pixel값은 보간 함수를 사용함으로써 결정됨
27
영상 스케일링 가장 인접한 이웃pixel 보간법 단순한 영상의 재추출 영상 확대 시 단순한 영상 복사를 수행
2의 배수 확대 시, 스캔라인 상의 각 pixel를 두 번, 그리고 라인을 두 번 반복 쉽고 빠르지만, 좋은 결과를 산출하지는 않음 대각선 라인의 영상이 특히 안 좋음 영상 축소 시 스캔라인에서 pixel를 골라냄 1/3 축소 시 모든 세 번째 스캔라인 상의 세 번째 pixel가 출력 영상에 복사됨 문제점 상세한 세부 항목을 손실할 수 있음 해결책 서브 샘플링 전에 영상을 흐리게 함 저주파 통과 블러링 후, 요구된 비율로 축소
28
영상 확대 및 축소 (b) 2에 의한 서브샘플링에 의해 축소된 영상 (c) 흐리게 만든 후 2만큼 축소된 영상 (a) 원래영상
29
축소 기법들 축소 방법 하나의 pixel를 가지고 pixel들의 블록을 표현하는 것
요구되는 처리속도와 영상의 질에 따라 방법 선택 방법 미디언 표현 pixel 블록을 미디언 값으로 대치 평균표현 pixel 블록을 그 블록내 모든 pixel들의 평균값으로 대치
30
미디언 표현 pixel들의 블록을 그 중간값으로 대치 블록내 pixel들을 오름차순으로 정렬, 중간값 선택
13 7 2 4 25 9 8 16 6 Input Image output Image Ordered pixels
31
평균 표현 pixel들의 블록을 평균값으로 대치 미디언 표현 vs. 평균 표현 미디언 표현: 영상 선명, 처리속도 늦음(정렬)
평균 표현 : 스무딩 효과, 처리속도 빠름 13 7 2 4 25 9 8 16 6 Input Image output Image ( )/9=10 average pixels
32
영상이동(Shift, Translation)
영상의 일부분을 영상의 다른 위치로 이동하는 것 하나의 영상버퍼 사용시 목적 영상이 원시 윈도우와 중첩되는 부작용 발생 두 개의 영상버퍼 사용시 부작용 발생하지 않음 이동하기 전 이동한 후
33
이동(Shift, Translation)
34
영상 회전(Rotation) [그림 2-63] 영상의 회전
35
영상의 회전(rotation) 주어진 각도만큼 중심pixel에 대해서 영상을 회전 원점(0,0)을 중심으로 한 회전
영상의 중심에 대해 반시계 방향으로 회전 (식 2-31) (식 2-32)
36
영상 회전(Rotation) -45 도 회전 (b) -135도 회전 (c) 90 도 회전
[그림 2-64] 다양한 영상의 회전 예들
Similar presentations