차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
영상처리 [2016/07/10 08:55] V_L영상처리 [2016/07/10 09:06] (현재) V_L
줄 2: 줄 2:
 ====== 영상처리 ====== ====== 영상처리 ======
  
-영상처리는 그림을 다루는 학문이다. 이것은 수 많은 어플리케이션에서 사용되는 넓은 영역의 기술들에 대한 총칭이다. 에에 포함되는 기술들은 영상을 더욱 높은 질의 영상으로 만들거나 일그러뜨리고, 영상의 두드러진 특징들을 더욱 두드러지게하고, 다른 영상의 일부분으로부터 새로운 영상을 만들어 내고, 영상을 회득하는 동안이나 획득한 후에 변질된 영상을 복원시키는 등의 기술들이다. ([[http://mercury.kau.ac.kr/image_lab/%EC%98%81%EC%83%81%EC%B2%98%EB%A6%AC.htm|출처]])+영상처리는 그림을 다루는 학문이다. 이것은 수 많은 어플리케이션에서 사용되는 넓은 영역의 기술들에 대한 총칭이다. 에에 포함되는 기술들은 영상을 더욱 높은 질의 영상으로 만들거나 일그러뜨리고, 영상의 두드러진 특징들을 더욱 두드러지게하고, 다른 영상의 일부분으로부터 새로운 영상을 만들어 내고, 영상을 회득하는 동안이나 획득한 후에 변질된 영상을 복원시키는 등의 기술들이다. ([[http://mercury.kau.ac.kr/image_lab/%EC%98%81%EC%83%81%EC%B2%98%EB%A6%AC.htm|출처 한국항공대학교 영상처리 연구실]])
  
 영상처리를 흔히 컴퓨터 그래픽스와 혼동한다. 컴퓨터 그래픽스와 영상처리는 거의 유사한 기술이다. 영상처리와 컴퓨터 그래픽스가 서로 공통된 개념들을 사용하지만 그들은 서로 다른 연구 분야로 일컬어진다. 컴퓨터 그래픽스는 합성 영상을 생성하는 것이다. 영상처리는 이미 획득하였거나 만들어진 영상을 조작하는 것이다. 컴퓨터 그래픽스는 2차원과 3차원 물체를 가지고 작업을 한다. 영상처리에서 전형적으로 다루어지는 것은 흔히 2차원 데이터로 제한된다. 의학 진단 산업 분야에서의 어플리케이션들은 3차원 데이터에 대한 영상처리를 수행한다. 볼륨 가시화(Volume visualization)와 모핑(morphing)과 같은 몇몇 기술의 출현으로 컴퓨터 그래픽스와 영상처리를 구분하는 선이 더욱 불분명해졌다. 영상처리를 흔히 컴퓨터 그래픽스와 혼동한다. 컴퓨터 그래픽스와 영상처리는 거의 유사한 기술이다. 영상처리와 컴퓨터 그래픽스가 서로 공통된 개념들을 사용하지만 그들은 서로 다른 연구 분야로 일컬어진다. 컴퓨터 그래픽스는 합성 영상을 생성하는 것이다. 영상처리는 이미 획득하였거나 만들어진 영상을 조작하는 것이다. 컴퓨터 그래픽스는 2차원과 3차원 물체를 가지고 작업을 한다. 영상처리에서 전형적으로 다루어지는 것은 흔히 2차원 데이터로 제한된다. 의학 진단 산업 분야에서의 어플리케이션들은 3차원 데이터에 대한 영상처리를 수행한다. 볼륨 가시화(Volume visualization)와 모핑(morphing)과 같은 몇몇 기술의 출현으로 컴퓨터 그래픽스와 영상처리를 구분하는 선이 더욱 불분명해졌다.
줄 81: 줄 81:
  
 FBI는 John F. Kennedy 암살 사건시 찍은 수천장의 필름 프레임들에서 관련된 특징들을 강화 시키고 연구하는 데 영상처리 기술들을 사용하였다. 경찰에서서는 저화질의 지문 영상을 복구하는데 컴퓨터를 사용하고 있으며, 지문들은 영상 분석 시스템에 입력되어져 기존의 지문 데이터 베이스와 비교하는 데 사용될 수 있다. 지문 분석은 또한 제한 구역이나 컴퓨터 시스템에 접근할 권한이 없는 사람에 대한 출입을 방지하기 위한 보안 시스템으로 사용될 수 있다. 경찰에서는 또한 영상 편집 소프트웨어를 사용하여 범인들의 머리카락의 색을 바꾸거나 머리의 길이를 바꾸고, 수염을 첨가하여 얼굴 영상을 변화시킬 수 있다. FBI는 John F. Kennedy 암살 사건시 찍은 수천장의 필름 프레임들에서 관련된 특징들을 강화 시키고 연구하는 데 영상처리 기술들을 사용하였다. 경찰에서서는 저화질의 지문 영상을 복구하는데 컴퓨터를 사용하고 있으며, 지문들은 영상 분석 시스템에 입력되어져 기존의 지문 데이터 베이스와 비교하는 데 사용될 수 있다. 지문 분석은 또한 제한 구역이나 컴퓨터 시스템에 접근할 권한이 없는 사람에 대한 출입을 방지하기 위한 보안 시스템으로 사용될 수 있다. 경찰에서는 또한 영상 편집 소프트웨어를 사용하여 범인들의 머리카락의 색을 바꾸거나 머리의 길이를 바꾸고, 수염을 첨가하여 얼굴 영상을 변화시킬 수 있다.
 +
 +=====개념=====
 +
 +====시각====
 +우리가 컬러 영상정보를 인지하는 방법은 세 가지 지각 변수로 분류되는데 색상(hue), 채조(saturation), 명도(brightness)가 그것이다. 우리가 컬러라는 단어를 사용할 때, 보통 색상을 말하는 것이다. 색상은 녹색이나 노랑색과 같이 색깔들을 식별해 준다. 색상은 다양한 파장이 우리에게 쬐어짐으로써 받아들여지는 컬러에 대한 느낌이다. 430과 480 나노미터 사이의 파장 중에서 가장 느낌이 강력한 것은 청색이다. 노랑색은 570에서 600 나노미터의 범위에 걸쳐 있으며 610 나노미터 이상의 파장은 적색으로 분류된다. 흑색, 회색, 그리고 흰색은 색깔을 가진다고는 하지만 색상은 없다.
 +
 +===채도===
 +백색으로 희석되지 않은 색깔의 정도를 말한다. 순수한 색상에 첨가되는 자연 색깔의 양이 증가할수록 채도는 증가한다. 채도는 흔히 색깔이 얼나나 순수한가를 의미하기도 한다. 채도가 약한 색깔은 색이 바래거나 희미해져 보이며, 채도가 강한 색깔은 뚜렷하고 활기가 넘쳐 보인다. 붉은색은 채도가 가장 높은 색인 반면, 분홍색은 채도가 떨어지는 색이다. 순수한 색깔은 100%의 채도를 가지며 백색이 전혀 섞이지 않은 것이다. 흰빛과 순수한색깔은 혼합하여 0%에서 100%의 채도를 만든다.
 +===명도===
 +빛이 빛이 물체에 반사되어 느껴지는 강도이다. 이것은 백색에서부터 회색을 거쳐 흑색까지의 모든 범위를 의미한다. 그래서 흔히 이러한 범위를 명암도(gray level)라고 한다. 유사한 용어로 CRT와 같은 스스로 빛을 내는 물체의 감지 강도를 의미하는 명도(brightness)가 있다. 감지되는 양을 나타내는 명도와 측정에 의해 구해지는 양인 명도는 대수적인 관계가 있다.
 +===대비===
 +(contrast)
 +영상의 가장 어두운 영역으로부터 가장 밝은 영역의 범위 이다. 높은 대비를 가지는 영상들은 어두운 영역과 밝은 영역의 범위가 크다. 좋은 대비를 가진 영상이 광도를 전적으로 잘 표현한다.
 +
 +영상의 대비가 증가하면, 관찰자는 더욱 상세하게 볼 수 있다. 이것은 영상에서의 정보의 총량은 전혀 증가하지 않는 순수한 지각 작용이다. 우리의 지각 작용은 순수한 광도의 강도에 민감하기 보다는 광도의 대비에 더 민감하다.
 +=====색상=====
 +
 +컬러 모형(또는 컬러 공간)은 어떤 컬러와 다른 컬러들과의 관계를 표현하는 방법이다. 서로 다른 영상처리 시스템은 각각의 다른 이유로 인해 서로 다른 컬러 모형을 사용한다. 컬러로 된 그림을 출판하는 기업은 CMY 컬러 모형을 사용한다. 컬러 CRT 모니터와 컴퓨터 그래픽 시스템들은 RGB 컬러 모형을 사용한다. 색상, 채도, 명도를 각각 다루어야 하는 시스템들은 HSI컬러 모형을 사용한다.
 +
 +인간의 컬러 지각 능력은 세 가지 cone들의 반응에 의해 결정된다. 이 때문에 컬러 시스템들은 세 개의 숫자를 기반으로 한다. 이 숫자들은 삼중 자극(tristimulus)값이라고 부른다. 여기서 우리는 RGB, CMY, HSI, YCbCr 컬러 모형을 살펴볼 것이다
 +
 + 
 +====RGB====
 +
 + 
 +
 +RGB 컬러 공간은 서로 가산될 수 있는 삼원색인 빨강(red), 초록(green), 그리고 파랑(blue)으로 구성된다. 이들 컬러의 분광 요소들이 부가적으로 복합되어 결과적인 컬러를 만들어 낸다.
 +
 +RGB 모형은  각 축의 모서리가 빨강, 초록, 그리고 파랑인 3차원 입방체로 표현된다. 검정색은 원점이다. 흰색은 입방체의 반대 끝쪽이다. 명암도는 검정색에서 흰색으로 이어지는 선을 따라서 표현된다. 컬러 채널당 8비트를 가지는 24비트 컬러 그래픽 시스템에서 빨강색은 (255,0,0)이다.컬러 입방체 상에서는 (1,0,0)이다.  
 +
 + RGB 모형은 컴퓨터 그래픽 시스템의 설계를 간단히 하지만, 모든 어플리케이션에 이상적이지는 않다. 빨강, 초록, 파랑의 컬러 요소들은 상호관계가 너무 크다. 이러한 점 때문에 몇몇 영상처리 알고리즘들을 돌리기에는 어렵다. 히스토그램 평활화와 같은 많은 영상 처리 기술들은 영상의 명암도 요소만으로 진행된다. 이러한 처리들은 HSI 컬러 모형을 사용하는 것이 구현하기가 더 쉽다.   RGB 영상은 명암도 영상으로 자주 변환되어야 할 필요가 있는데 이것은 아마도 흑백 프린터에 하드카피(hardcopy)하려는 목적일 것이다. 영상을 RGB 컬러에서 명암도 등급으로 변환하기 위해서는 다음과 같은 수식을 사용한다. 
 +
 +    명암도 = 0.288R + 0.587G + 0.114B 
 +
 +이 수식은 명도에 대한 NTSC 표준에서 나온 것이다.
 +RGB 컬러를 명암도 등급으로 변환하는 또 하나의 일반적인 변환은 간단하게 평균을 취하는 것이다.
 +
 +   명암도 = 0.333R + 0.333G + 0.333B 
 +
 +이 수식이 대부분의 어플리케이션에서 사용된다. 뒤에서 살펴 보겠지만 이 수식은 또한 RGB에서 HSI 컬러 공간으로의 변환에도 사용되어진다.
 +
 +초록은 명암도 등급중에서 상당히 큰 요소이기 때문에, 많은 사람들이 초록 명암만을 명암도 단계 데이터로 사용한다. 컬러를 흑백으로 더욱 간소하게 변환하기 위해, 정규화된 값이 0.5보다 작은 것은 검정색으로 그리고 나머지는 흰색으로 설정할 수 있다. 이러한 방법은 간단하지만 좋은 품질의 결과를 만들지는 못한다.
 +
 +많은 사람들은 RGB 컬러 공간에서 어떻게 원색들이가산되어 혼합되는지 알지 못한다. 아이들은 빨강과 초록을 혼합하면 갈색(brown)이 된다고 생각한다. RGB 컬러 공간에서 빨강과 초록을 합하면 노랑색이 된다. 예술적인 경향이 있는 사람은 감산할 수 있는 원색들의 혼합으로부터 원하는 컬러를 만들어 내는 데 익숙한 사람이다. CMY 컬러 공간은 감산에 의한 컬러들에 대한 모형을 제공한다.
 +  
 +====CMY/CMYK====
 +
 + 
 +
 +CMY 컬러 공간은 청록색(cyan), 자홍색(magenta), 그리고 노랑색(yellow)으로 구성된다. 이것은 RGB 컬러 공간과 반대의 공간이며 청록색, 자홍, 노랑은 빨강, 초록, 파랑 각각의 보색(complement)이다. 청록, 자홍, 노랑은 감할 수 있는 원색으로 알려져 있다. 이 원색들은 흰색으로부터 감산되어 원하는 색깔이 만들어진다. 청록색은 빨강색을 흡수하고, 자홍색은 초록색을, 그리고 노랑색은 파랑색을 흡수한 것이다. 그래서 영상에서 노랑색과 청록색을 증가시키거나 자홍색(초록의 보색)을 감소시켜 청록색을 증가시킨다.
 +
 +RGB와 CMY가 보색의 관계에 있기 때문에 두 공간 사이의 변환은 쉽다. RGB에서 CMY로 변환하기 위해서는 다음 식과 같이 흰색에 대한 보수를 취한다.
 +  
 +        C = 1.0 - R
 +        M = 1.0 - G
 +        Y = 1.0 - B
 +
 + 다음은 CMY에서 RGB로 변환하는 경우이다.
 +
 +     R = 1.0 - C
 +     G = 1.0 - M
 +     B = 1.0 - Y
 +
 +여기서 이 수식과 컬러 공간들은 평준화되어 있다고 가정한다. 모든 값들은 0.0과 1.0 사이의 값이다. 24 비트 컬러 시스템에서 청록색은 255 - 빨강색 [그림 4] 과 같다. 프린트 업체에서 이 모형에 네 번째 컬러를 추가하였다. 
 +
 +
 + 
 +
 +
 +
 +청록, 자홍, 노랑의 세 가지  컬러에 검정색을 더한 색깔이 처리될 수 있는 컬러로 알려져 있다. 이러한 컬러 모형을 CMYK라고 부른다. 검정(black, K)은 다른 세가지 컬러들의 조합에 의해 만들어 지는 것보다 순수한 검정색이 더욱 좋기 때문에 프린트 처리를할때 독자적으로 사용된다. 순수한 검정색은 뛰어난 대비를 제공한다. 또한 검정 잉크가 컬러 잉크보다 더 비용이 적게 드는 요인도 있다. CMY에서 CMYK로 변환은 다음과 같다.
 +
 +     K = min(C, M, Y)
 +     C = C - K
 +     M = M - K
 +     Y = Y - K
 +
 + 그리고 CMYK에서 CMY로의 변환은 C, M, Y 요소에 각각 검은 요소를 더해 주면 된다.
 +
 +==== HSI ====
 +
 + 색상, 채도 그리고 명도라는 세 가지 특성들이 컬러를 설명하는 데 사용되기 때문에, 이와 대응되는 컬러 모델을 HSI라고 한다.
 + HSI 컬러 공간을 사용할 때, 어떤 컬러를 만들어 내기 위해서 몇 퍼센트의 파랑색이나 녹색이 필요한지 알 필요가 없다. 진한 빨강색을 분홍색으로 바꾸기 위해 단순히 채도를 조절하면 된다. 어두운 것을 밝게 하려면 명도를 조절하면 된다.
 +
 +많은 어플리케이션이 HSI 컬러 모형을 사용한다. 머신 비젼은 서로 다른 물체들의 컬러를 식별하는 데 HSI 컬러 공간을 사용한다. 히스토그램 연산, 명도 변환, 회선과 같은 영상처리 어플리케이션들은 오직 영상의 명도에 대해서만 연산을 한다. 이러한 연산들은 영상이 HSI 컬러 공간으로 되어 있는 것일수록 다루기가 더욱 쉽다.
 +
 +HSI는 원통 모양의 좌표계로 모형화 되어 있다
 +
 +색상은 0°에서 360°의 범위를 가진 각도로 표현된다. 채도는 0에서 1까지의 범위를 가지는 반지름에 해당한다. 명도는 z 축에 해당하는데 0일 때는 검정색을, 1일 때는 흰색을 나타낸다.
 +
 + 
 +
 +S=0일 때, 컬러는 명도 I의 명암도를 가진다. S=1일 때, 그 컬러는 원뿔 기반의 모형 꼭대기 가장자리에 위치한다. 채도가 강할수록 그 컬러는 (명도에 따라서) 흰색/회색/검정색이 된다.
 +
 +색상의 조절은 각도에 따라 0°에서는 빨강색, 120°에서는 녹색, 240°에서는 파랑색, 그리고 360°에서는 다시 빨강색으로 변한다. I=0일 때, 컬러는 검정색이어서 H는 정의 되지 않는다. S=0일 때, 컬러는 명암도 등급이 된다. H는 이러한 경우에도 정의되지 않는다.
 + I를 조절함으로써, 컬러는 어둡게 또는 밝게될 수 있다.S=1로 유지하고 I를 조절하면, 그 컬러의 농도를 변화시킬 수 있다. 
 +
 +다음 수식은 RGB 공간에서 HSI로 어떻게 변환하는가를 보여준다.
 +
 +
 + 만일 B가 G보다 크다면, H=360° - H(Down C Source)가 된다.
 +
 + HSI에서 RGB로 변환(Down C Source)하기 위한 처리는 컬러 영역이 어디에 존재하는가에 의존한다. RG영역(0° <= H <= 120°)에 대하여,
 +
 +
 +
 +
 +
 +GB 영역(120° <= H <= 240°)에 대하여,
 +
 + 
 +
 + 
 +
 + 
 +
 +BR 영역(240° <= H <= 360°)에 대하여,
 +
 + 
 +
 + 
 +
 + 
 +
 +
 +r, g, b 값들은 R, G, B의 값으로 정규화 된다. 다음과 같이 R, G, B 값으로 변환된다.
 +
 +      
 +    R = 3Ir G = 3Ig B = 3Ib
 +
 +이 수식은 모든 각도에 대하여 고려된다는 점에 주의하여야 한다. C에서 삼각함수를 사용하려면, 각도들을 호도(radian)로 변환하여야 한다.
 +
 + 
 +
 +====YCbCr ====
 +
 + 
 +YCbCr은 컬러 정보로부터 광도를 분리하는 또 하나의 컬러 공간이다. 광도는 Y로 기호화되고 푸른 정보와 붉은 정보는 CbCr로 기호화 된다. RGB에서 YCbCr로 변환하는 것은 매우 쉽다.
 +
 +      Y = 0.29900R + 0.58700G + 0.11400B
 +    Cb = -0.16874R - 0.33126G + 0.50000B  
 +     Cr = 0.50000R - 0.41869G - 0.08131B
 +
 +반대로 RGB로의 면환은 다음과 같다.
 +
 +    R = 1.00000Y + 1.40200Cr 
 +   G = 1.00000Y - 0.34414Cb - 0.71414Cr 
 +   B = 1.00000Y + 1.77200Cb
 +
 +YCbCr와 RGB를 서로 변환하는 방법은 여러 가지가 있다. 이것은 CCIR(International Radio Consultive Commitee)의 권고안 601-I이며, JPEG압축에서 사용되는 전형적인 방법이다.