반응형
간단히 코드를 돌릴 때에면 colab을 자주 사용하는데 절대 적응이 되지않는 opencv.
항상 동일한 에러에 당황하는 나를 보면 기억력이 안좋은건지.. 습관이 무서운건지 모르겠을 정도다
<ERROR Message>
DisabledFunctionError: cv2.imshow() is disabled in Colab, because it causes Jupyter sessions
to crash; see https://github.com/jupyter/notebook/issues/3935.
As a substitution, consider using
또 같은 실수를 반복하지 않기위해 colab에서 이미지를 읽을 수 있는 방법에 대해 정리해보려고 한다
이유는 모르겠으나 colab은 cv2.imshow() 옵션이 비활성화 되어있기 때문에 위와 같은 에러를 빈번하게 볼 수 있다.
구글에서는 이 불편함을 해결하기 위해서인지 google.colab.patches라는 라이브러리를 자체적으로 생성했다
<code>
import cv2
from google.colab.patches import cv2_imshow # google colab 자체 개발 라이브러리
img_path = '/content/cute.jpg' # 이미지 경로
img = cv2.imread(img_path)
cv2_imshow(img)
<결과>
그렇다면 귀여운 스티치를 만나 볼 수 있고, 출력 이외의 이미지 편집 옵션들도 모두 동일하게 사용할 수 있다
다만 이 과정은 colab에서 자체 생성한 라이브러리로 상용화 서비스에서는 활용하기가 어려울 것 같다는 생각이 들었다(정확한 내용은 아니지만 이름에도 colab이 들어가 colab에 특화되었다고 생각했다)
그래서 조금 더 상용화 되어있는 PIL + matplotlib을 활용해 이미지를 출력해보고 포스팅을 끝내려고한다
<code>
import matplotlib.pyplot as plt # 다양한 데이터를 도식화 할 수 있는 라이브러리
from PIL import Image #파이썬 인터프리터에 다양한 이미지 파일 형식을 지원하고 강력한 이미지 처리와 그래픽 기능을 제공
img = Image.open('/content/cute2.png')
plt.imshow(img)
<결과>
다른 귀여운 스티치를 데리고와봤다
도식화하는 양식으로 좌표가 생성되었지만, plt.imshow의 기본기능으로 3줄의 코드를 추가해 삭제할 수 있다.
frm = plt.gca()
frm.axes.get_xaxis().set_visible(False)
frm.axes.get_yaxis().set_visible(False)
그렇지만 나는 귀찮기도하고 단순히 이미지 편집의 결과를 확인하는 거 뿐이니 이렇게 보겠다
반응형
'SEO's Study > 프로페셔널한 이야기' 카테고리의 다른 글
리눅스 tar 압축할 때 에러는 왜나는걸까? (0) | 2023.07.18 |
---|---|
[python 라이브러리] tqdm 프로세스바 활용하기 (0) | 2022.05.25 |
RuntimeERROR: Out of Memory (CUDA) (0) | 2022.02.03 |
프로그래머스 코딩테스트 :: 이름에 el이 들어가는 동물 찾기 (MySQL) (0) | 2020.09.20 |
프로그래머스 코딩테스트 :: 루시와 엘라 찾기(MySQL) (0) | 2020.09.20 |
댓글