목록프로그래밍/영상처리 (5)
힘들면 쉬었다 가자.
영상처리쪽을 한다면 아마 다들 아실텐데 뭐 어려운 개념은 아닙니다. Segmentation의 일종으로 볼 수 있을텐데.. 프로파일을 이용하면 영상내의 object들을 추출해 낼 수 있습니다. 차량 번호판을 예로 들어 설명을 하면,, 번호판내의 문자를 인식하기 위해서는 개별 문자들을 분리해 내야 합니다. - 이 개념이 segmentation 입니다. - 개별 문자들을 분리하기 위해서 우선 상단 문자열과 하단 문자열을 분리한후 나눠진 영상에서 다시 Vertical(수직) Projection Profile을 이용하여 개별 문자들을 추출할 수 있습니다. 위 그림은 Horizontal(수평) Projection Profile을 추출한 영상입니다. 영상에서 골(쑥- 꺼진부분)을 찾으면 상단 문자열과 하단 문자열을 ..
컴퓨터에서 사용되는 RGB는 밝기에 민감하기 때문에 사람이 인지하는 색상과 차이가 있습니다. 영상처리를 위해서 RGB를 HSI포멧으로 변환하여 사용합니다. (이미지 출처가 어디였는지 잘 기억이 안나네요-_-;) 수학적인 표현으로 하면 위와 같습니다. 아래는 대략적인 유사코드 입니다. I = (R+G+B) / 3.0f if(그레이스케일){ S = 0.0 H = 0.0 } else{ S = 1.0f - (3.0f / (R+G+B)) * min(R, G, B) angle = (R - 0.5f * G- 0.5f * B) / (float)sqrt((R-G) * (R-G) + (R-B) * (G-B)); H = (float)acos(angle); H *= 57.29577951f // 각도값으로 변환(180/phi)..
Y = 0.29900R + 0.58700G + 0.11400B Cb = -0.16874R - 0.33126G + 0.50000B Cr = 0.50000R - 0.41869G - 0.08131B Y값은 NTSC 표준과 같네요
가장 간단한 방법으로 명암도 = 1/3*R + 1/3*G + 1/3*B 를 이용하여 구할 수 있습니다. 위 방법외에 NTSC(National Television System Committee) 표준인 명암도 = 0.299R + 0.587G + 0.114B 를 이용하여 구할 수도 있습니다. 사람이 녹색(G)에 민감해서 정해진 것이라고 하네요.
프로젝트 준비하면서 조사한 자료입니다. 오류사항이 있으면 알려주세요 RGB 모니터, 디스플레이장치 등에 사용되는 색상포멧으로 컴퓨터에 적합합니다. 색상 표현이 컴퓨터에게 용이하며, 많은 색상을 표현할 수 있습니다. R, G, B 각각의 상호 연관성이 심하다는 단점이 있습니다. CMY RGB의 보수개념으로 인쇄분야에서 많이 사용됩니다. 보통 검은색인 K가 추가되서 CMYK가 많이 사용됩니다. 인쇄분야에서 사용되는 색상포멧이기 때문에 영상처리용도로는 적합하지 않습니다. YCbCr TV에서 사용되는 방식으로 YUV는 아날로그, YCbCr은 디지털 방식입니다. Y값은 명도단계만은 CbCr은 색차보정(?)값을 갖기 때문에 흑백 TV에서도 별다른 연산없이 Y값만을 사용하여 화면을 출력할 수 있습니다. HSI (Hu..