Page 17 -
P. 17

그레이스케일 영상은 밝기 정보를 256단계로 구분하여 표현합니다. 즉, 그레이스케일 영상에서
                    하나의 픽셀은 0부터 255 사이의 정수 값을 가질 수 있으며, 0은 가장 어두운 검은색을 표현하고
                    255는 가장 밝은 흰색을 표현합니다. 그레이스케일 영상에서 픽셀이 가질 수 있는 값의 범위를                              1

                    그레이스케일 레벨(grayscale level)이라고 합니다. 즉, 그레이스케일 레벨은 0부터 255 사이의 정
                    수 범위를 의미합니다. 그레이스케일 레벨의 값에 따른 실제 밝기 정도를 그림 1-6에 나타냈습니
                    다. 그림 1-6에서 배경은 그레이스케일 중간값인 128로 설정하였고, 중앙에 검은색에서 흰색으                             컴퓨터 비전과 영상의 이해
                    로 변하는 부분이 그레이스케일 값을 밝기로 표현한 부분입니다.

                       그림 1-6 그레이스케일 값에 따른 밝기 변화






                        0        64        128        192       255



                    그레이스케일 값을 저장하기 위하여 C/C++에서는 보통 unsigned char 자료형을 사용합니다.
                    unsigned char 자료형은 1바이트(byte)의 크기를 가지며 부호 없는 8비트(bit) 정수 값을 저장할
                    수 있습니다. 즉, unsigned char 자료형에는 0부터 255 사이의 정수를 저장할 수 있으며, 그레이

                    스케일 값을 표현하기에 가장 적합한 자료형입니다. 그런데 여러 운영 체제와 라이브러리에서는
                    unsigned char 자료형 이름을 아래와 같이 재정의하여 사용합니다.

                      typedef unsigned char BYTE;
                      typedef unsigned char uint8_t;
                      typedef unsigned char uchar;


                    여기서 BYTE는 주로 Windows 운영 체제에서 사용하는 이름 재정의 방식이고, uint8_t 타입은
                    리눅스에서 사용됩니다. OpenCV 라이브러리에서는 unsigned char 대신에 uchar라는 이름을 사
                    용합니다. 이 책에서도 0부터 255 사이의 정수 값을 표현할 때에는 주로 uchar 자료형을 이용합
                    니다.

                    실제 그레이스케일 영상에서 픽셀 밝기와 그레이스케일 값과의 상관관계를 살펴보겠습니다. 그
                    림 1-7은 camera.bmp 영상에서 카메라맨 머리 부분의 픽셀 값 분포를 확대하여 2차원 배열 형

                    태로 나타낸 그림입니다. 그림 1-7의 오른쪽 확대된 그림에서 밝은 회색 영역의 픽셀은 180~200
                    사이의 큰 값으로 구성되어 있는 것을 확인할 수 있습니다. 반면에 카메라맨의 머리카락에 해당하
                    는 어두운 영역에서는 10~30 정도의 작은 픽셀 값을 가지고 있습니다. 즉, 영상에서 밝은 영역의




                                                                                                  023





     OpenCV(본문)인디고출력용_0326.indb   23                                                         2019-03-26   오후 1:28:31
   12   13   14   15   16   17   18   19   20   21   22