말랑말랑제리스타일

구름 IDE에서 파이썬 PIL 이미지 미리보기 본문

프로그래밍/파이썬

구름 IDE에서 파이썬 PIL 이미지 미리보기

제리제리 2023. 6. 8. 16:23

구름 IDE에서 기본적으로 이미지 쇼 형태로 창의 띄워서 이미지를 보는 메서드를 사용하는 게 불가능하죠. 하지만 Open CV나 PIL을 사용해서 이미지를 불러온 뒤 확인하고 싶을 때가 많은데요. 일반적인 방법은 아니지만 두 가지 방법을 소개드립니다. 

먼저 첫번째는 주피터 노트북을 사용해 미리 보는 방법, 그리고 하단에 소개할 두 번째는 그냥 이미지를 바로 저장해서 쉽게 보는 방법입니다.

사실 두번째 방법이 미리 보기라는 타이틀과는 어울리지 않지만 많이 간단하긴 합니다.

두 번째 방법만 보실 분은 스크롤을 내려주세요.

컨테이너에 주피터 노트북 사용 가능하도록 설정하기

반응형

먼저 구름 IDE의 컨테이너 목록으로 가서 파이썬 컨테이너의 우측 상단에 ... 버튼을 눌러 컨테이너 설정으로 들어가 줍니다.

구름 IDE 컨테이너 설정
구름 IDE 컨테이너 설정

그리고 화면과 같이 주피터 노트북 설정을 켜줍니다.

VS 코드는 해보려고 했는데 너무 느리고 아직 구름 IDE에서 쓰기는 부적합한 느낌이더라고요.

주피터 노트북 사용 가능 확인
주피터 노트북 사용 가능 확인

화면처럼 컨테이너를 실행하면 좌측 하단에 주피터 노트북 버튼이 활성화됩니다.

여기를 들어가면 아래와 같이 주피터 노트북이 나오는데요.

구름 IDE에서 주피터 노트북을 이용해 이미지 미리 보기

반응형

이제 구름 IDE에서 주피터 노트북을 사용해 봅시다.

구름 IDE에서 주피터 노트북 실행 화면
구름 IDE에서 주피터 노트북 실행 화면

일단 문제점은 VS Code만큼은 아니지만 주피터 노트북도 구름 IDE에서 실행하기는 상당히 느리네요.

간단히 사용법을 알려드리면 오른쪽에 표시한 것처럼 New 버튼을 눌러 Python 3으로 들어가 줍니다.

만약 다른데 들어갔다면 좌측 상단에 표시한 구름 IDE 버튼을 누르면 이 화면으로 돌아옵니다.

 

그리고 기다립니다.

생각보다 오래 걸리니 의심을 버리고 기다려야 하더라고요.

구름 IDE 주피터 노트북 실행 화면
구름 IDE 주피터 노트북 실행 화면

실행 화면이 상단과 같이 나오는데요. 구글의 Colab과 상당히 유사하네요.

여기에 소스코드를 복사해 넣고 상단의 Run 버튼을 눌러줍니다.

참고로 img.show 명령이 아닌 마지막에 img라고 작성해 주면 해당 이미지를 볼 수 있습니다.

예시 소스 참고용으로 하나 올립니다.

from urllib import request
from PIL import Image
from io import BytesIO

image_url = "https://blog.kakaocdn.net/dn/xp8aA/btrZrUmtQT6/V96AGpXSijWb5dEg6YVopK/img.png"

res = request.urlopen(image_url).read()
img = Image.open(BytesIO(res))


res = request.urlopen(image_url).read()
img = Image.open(BytesIO(res))

img

이렇게 작성해서 소스 돌려보면 아래와 같이 img 변수에 담긴 이미지가 출력되는 것을 볼 수 있습니다.

구름 IDE에서 파이썬 이미지 미리보기 출력
구름 IDE에서 파이썬 이미지 미리보기 출력

이렇게 구름 IDE에서 기본적으로 이미지 미리 보기는 되지 않지만 주피터 노트북을 사용해서 미리 보기가 가능한데요.

반응형

개인적으로 파이썬 이미지 미리보기를 할 거라면 구름 IDE보다는 VS Code 설치해서 진행하는 쪽을 추천합니다.

일단 장점은 구름 IDE를 사용하기 때문에 설치를 안 해도 된다는 점이 있지만 단점이 너무 버벅거리는 느낌이 있고 굳이 소스를 복사해서 다시 넣고 하는 게 상당히 번거롭네요.

구름 IDE 컨테이너에 이미지 저장해서 미리 보기

두 번째 방법은 상단에서 말한 것처럼 컨테이너에 이미지를 저장해서 보는 방법입니다.

아시는 분들은 아시겠지만 구름 IDE 컨테이너에 저장한 이미지는 클릭하면 바로 새 탭에서 볼 수 있습니다.

from urllib import request
from PIL import Image
from io import BytesIO

image_url = "https://blog.kakaocdn.net/dn/xp8aA/btrZrUmtQT6/V96AGpXSijWb5dEg6YVopK/img.png"

res = request.urlopen(image_url).read()
img = Image.open(BytesIO(res))


res = request.urlopen(image_url).read()
img = Image.open(BytesIO(res))

img.save('testImg.png',"PNG")

이렇게 마지막 줄을 이미지를 저장하는 함수로 바꿔줍니다.

이 소스를 작동시키면 좌측에 testImg.png라는 파일이 생긴 것을 볼 수 있는데요.

파일을 클릭하면 바로 새 탭에서 볼 수 있습니다.

이 방법이 훨씬 간단하죠?

Comments