본문 바로가기

2007/08

픽셀 기반 처리 - (2) 흑백 이미지 만들기 앞서 말한 convert("L") 함수를 이용하면 손쉽게 흑백 이미지로 만들 수 있다. 이 함수는 내부적으로 아래와 같은 연산을 통해 R, G, B 세 개의 성분을 한 개의 광도(Luma) 성분으로 합성한다. L = 0.2126 R + 0.7152 G + 0.0722 B 이 계수들은 우리 눈이 느끼는 빨강, 파랑, 초록 삼원색의 밝기의 상대적인 차이를 바탕으로 채택한 값이다. (그림 17)에서 확인할 수 있듯이, 흑백으로 변환한 원색의 초록색(#00FF00)은 원색의 파랑색(#0000FF)보다 훨씬 밝다. 이것은 G에 곱해진 숫자 0.7152가 B에 곱해진 숫자 0.0722보다 훨씬 크기 때문이다. (그림 17) RGB의 3원색을 흑백으로 변환한 결과 convert("L") 기능을 이용하지 않고 직접 이.. 더보기
픽셀 기반 처리 - (1) 밝기, 명암대비 조절 밝기 조절은 매우 간단하다. 픽셀에 일정한 값을 더하거나 빼는 것으로 밝기 조절이 가능하다. (그림 11) 고양이 사진 이 사진은 이 컨텐츠에서 계속 사용할 고양이 사진이다. 어떤 여자 연예인 사진을 쓸까 한참 고민하다가 결국 정하지 못해 고양이 사진을 쓰기로 했다. 앞서 다룬 eval함수를 이용하여 각 픽셀값에 64를 각각 더하거나 뺀 뒤 저장해 보자. 아래와 같은 이미지를 얻을 수 있다. eval함수는 기특하게도 결과값이 255보다 크거나 0보다 작아져서 범위를 벗어나도 255나 0으로 처리를 해주기 때문에 그런 경우에 대해 별도로 처리할 필요가 없다. Image.eval(im, lambda x:x+64).save("brightcat.bmp")와 같은 방법으로 im을 밝게 한 이미지를 파일로 저장할 .. 더보기
이미지프로세싱 시작하기 - (4) 파이썬 이미징 라이브러리 PIL의 사용 PIL(Python Imaging Library)은 파이썬을 이용해서 쉽게 이미지 프로세싱을 할 수 있게 주는 라이브러리이다. PIL은 이미지 프로세싱에 관련된 다양한 모듈을 제공하고 있으나 여기서는 이미지 파일 열기나 생성하기, 저장하기 등 가장 기본적인 함수들만 알아보기로 한다. PIL의 핵심이라고 할 수 있는 이미지 프로세싱 기능들은 그것을 직접 구현할 것이기 때문에 미리 다루지 않는 것으로 한다. PIL에 대한 자세한 문서가 필요하면 PIL의 공식 Documentation 사이트(http://www.pythonware.com/library/pil/handbook/)를 이용하면 된다. Image.new(mode, size) -> image Image.new(mode, size, color) -> i.. 더보기
이미지프로세싱 시작하기 - (3) 컬러 모델 흑백 영상의 경우에는 각 픽셀의 밝기만으로 영상을 표현할 수 있지만, 컬러 영상에서는 다양한 표현 방법이 요구된다. 컬러 모니터와 같이 빛을 이용해서 색을 표현할 때는 빛의 삼원색을 이용한 RGB 컬러 모델을, 컬러 프린터에서는 색의 삼원색을 이용한 CMY 컬러 모델을 이용한다. 이외에도 색상, 명도, 채도의 혼합으로 색을 나타내는 HSI 컬러 모델이 있다. (1) RGB 컬러 모델 RGB컬러 모델은 빛의 삼원색인 빨강(Red), 초록(Green), 파랑(Blue)을 이용하여 색을 표현한다. 어떤 이미지라도 R, G, B 세 가지 색으로 분리하는 것이 가능하다.(그림 4) 흔히 R, G, B의 각 성분을 8비트 (256단계 : 가장 어두운 0.0을 00이, 가장 밝은 1.0은 FF가 나타내게 된다)로 표.. 더보기
이미지프로세싱 시작하기 - (2) 이미지프로세싱 기초 자연 영상은 컬러와 음영이 연속적으로 변화하지만, 컴퓨터에서 처리하는 디지털 영상은 그렇지 않다. 디지털 카메라나 스캐너와 같은 기기를 이용하면 자연 영상을 디지털화하는 것이 가능하다. 이러한 기기를 디지타이저(Digitizer)라고 하며, 샘플링(Sampling)과 양자화(Quantization)의 두 가지 기능을 한다. 샘플링은 자연 영상에서 일정한 간격으로 데이터를 뽑아내는 것을 말한다. 디지털 카메라에서, 5백만 화소, 7백만 화소와 같은 이야기는 그 디지털 카메라의 샘플링 수준(Sampling Rate)을 이야기한다. 5백만 화소의 카메라로는 5백만 개의 데이터로 이루어진 사진을 찍을 수 있는 것이다. 이 때의 사진을 이루는 각 데이터를 픽셀(pixel)이라고 하며, 이미지의 가장 작은 구성 요.. 더보기