픽셀 기반 처리 - (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.. 더보기 이전 1 ··· 8 9 10 11 12 13 14 15 다음