IT 지식 창고

(python) image를 배열로 변환할 때

casim 2020. 8. 25. 23:26

보통 image는 0~255의 값을 가지기 때문에, image관련 라이브러리에서 배열로 처리하기 위해서 정수타입이 uint8인 경우에 처리하는 게 간단합니다.

 

물론 알아서 잘 처리해주는 경우도 있지만, image를 배열로 변환하여 이미지처리를 할 경우 uint8의 형태로 미리 바꿔 놓는 것이 제일 좋습니다.

 

from PIL import Image

img = Image.open(test.png)
np.array(img, dtype='uint8')

opencv로 image를 여는 경우 배열로 return이 되지만, PIL 라이브러리를 활용할 경우는 Image로 열려서 다시 배열로 변환 해줘야 합니다.

 

이럴 때 보통 위와 같은 방식으로 uint8형태를 가지면서 배열로 변환하면 이미지처리하는데 헷갈림이 덜 합니다.