본문 바로가기

코딩배우기/Python

Pillow 에서 RGBA값말고 RGB로 불러오는 방법

 

from PIL import Image

img = Image.open("e:/temp/ss.png").convert('RGB')

파이썬 실습 하는데.. 아 각 픽셀의 값을 RGB로 불러오고 싶었습니다. 그러나 

 

 PNG파일은 RGBA 네가지 값을 가진다.

그러나 이 네자리 수의 값들은 무엇이지? 255의 최대 값보다는 밑에 숫자 들로 구성된걸 보니 색상을 표현 하는 것은 맞는데.. 뭐지?? 하고 검색 해보니.. 아니.. 색상을 표현하는데에 CMYK도 있지만  hex 값도 있는거 알고 있었지만 이게 뭔지 몰랐는데... 덕분에 배웠네.. 이것은 바로 RGBA라는 수치.. PNG파일의 색상은 이렇게 네개의 값으로 하나의 색을 표현해주는것인가??? 뭔가 이렇게 표현 하면 압축이 되는것인가.. 자세한것은 모르겠지만.. 

 

검색을 계속하는데 뭔말인지 모르겠고 시간은 갔는데.. 

 

내가 검색했던 검색어는 

PIL rgba convert to RGB 였다. 

그니까Pillow 라이브러리에서 갑자기 rgba라는 생소한 개념을 만나버렸는데.. 이거 어차피 뭔가 변환 하는 방법이 있을텐데 있는데 있는데 그게 뭘까 하다가 저런식으로 검색 한거지..

 

답을 찾았지만 영어로 설명이 장황하게 되어있어서 그럼 내껀 어떻게 해? 라고 말이지.. 

그래서 찾았다!! 방법은 간단~! 

파일을 읽어와서 변수에 넣어줄때에 .convert('RGB')를 붙여 주면 되는것~!! 

RGB값으로 표현

 

중간에 변수에 아무리 .convert('RGB')를 붙여줘도 안되더라고.. 하지만 불러올때..하면됨.. ㅎㅎ 

이런 설명이 영어로 되어있었을텐데.. rgba 에서 a 는 비워둬도 되는 알파채널? 이라고 하네.. 나무위키에 이렇게 씌여있더라.. 자세한것은 나무위키에서 보도록

namu.wiki/w/RGB

 

RGB - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권

namu.wiki

에프터 이펙트에서 영상 인코딩 할때 비워두는 방법으로 알파채널도 적용해서 인코딩을 하라고 하는 것을 봤는데.. 아마도 그런 맥락인듯 싶다.. 특히 PNG파일에서 RGBA가 사용되는 개념인것같다. PNG는 투명이라는 개념도 포함 하니까.. PNG말고  JPEG였다면.. 알파채널이 필요 없었겠구나 하는 생각도 들고.. 자세한건 모르게쒀요.. 하지만 이런 비슷한 개념일듯.