상세 컨텐츠

본문 제목

이중선형보간법 Bilinear Filtering

영상처리/OpenCV

by cepiloth 2021. 2. 14. 18:44

본문

728x90
반응형

 

 

 

Bilinear Filtering

 이중선형 필터링(Bilinear filtering)은 컴퓨터 그래픽스에서 실제 크기보다 크거나 작게 표시되는 텍스처를 보간하는데 쓰는 방식이다.

 

 

 

 

 텍스처를 씌운 도형을 화면에 그릴 때, 대부분의 경우는 텍스처가 왜곡 없이 저장된 정보 그대로 화면에 표시되지는 않는다. 하지만 텍스처를 확대 축소시키거나 보는 시점을 바꾸면 텍스처 상의 화소(텍셀)가 튀어 보이게 된다. 이선형 필터링은 텍스처 상의 임의의 텍셀과 그와 4방향으로 인접한 텍셀들의 중점에 대하여 선형 보간법을 수행하여 텍스처가 어떤 경우에라도 부드럽게 보일 수 있도록 한다.

 

공식

 다음 방정식에서 uk와 vk는 텍스처의 좌표이며, yk는 점 k의 색을 나타낸다. 첨자가 없는 값은 픽셀의 점을 나타내며, 첨자 0, 1, 2, 3을 가지는 값은 각각 픽셀과 인접해 있는 상, 좌, 우, 하의 텍셀을 나타낸다. 다음 이원일차 방정식은 선형 보간법 공식이다.

 

텍스처가 정사각형 비트맵이라고 가정하면

 

v_1 = v_0 

v_2 = v_3 

u_1 = u_3 

u_2 = u_0 

v_3 - v_0 = u_3 - u_0 = w 

 

이 식이 모두 참이 된다. 나아가서 다음 식을 정의하면

 

U = \frac \,\!

V = \frac \,\!

이렇게 해서 보간법 방정식을 단순화시킬수 있다:

 

y_a = y_0 + (y_1-y_0)U \,\!

y_b = y_2 + (y_3-y_2)U \,\!

y = y_a + (y_b-y_a)V \,\!

위의 식을 결합시키면 다음과 같다:

 

y = y_0 + (y_1 - y_0)U + (y_2 - y_0)V + (y_3 - y_2 - y_1 + y_0)UV \,\!

 

다르게 표현하면:

y = y_0(1 - U)(1 - V) + y_1 U (1 - V) + y_2 (1 - U) V + y_3 U V \,\!

이 된다.

 

 하지만 이미지가 회전, 전단 이동 또는 시점 변환되는 것이 아니라 단지 확대 및 축소만 할 경우에는, 따로 방정식을 만들고 yb (크기를 키울 경우에는 때때로 ya)를 다음 행에서 사용할 수 있도록 보관한다면 비교적 속도 향상을 꾀할 수 있다.

728x90
반응형

'영상처리 > OpenCV' 카테고리의 다른 글

웹 안전색  (0) 2021.02.14
먼셀의 색체계  (0) 2021.02.14
물감의 삼원색  (0) 2021.02.14
RGB 색상표  (0) 2021.02.14
CMYK 색상표  (0) 2021.02.14

관련글 더보기

댓글 영역