OpenCV에서 URL로 이미지 로딩
request
모듈을 활용하면 간단하게 URL을 사용하여 이미지 로딩이 된다.
reauest
로 url을get
메서드로 가져옴.request.content
는 immutablebytes
이므로 이를bytearray
로 변경: mutable- 해당
bytearray
객체를 통해 ndarray 객체를 얻어냄: 일반적으로 image는dtype=np.unit8
을 사용. - 해당 ndarray 객체를 image로 디코딩:
cv2.imdecode()
이용. cv2.imdecode
로 반환된 ndarray객체가 바로 image에 해당함.
URL에 대한 개념이 부족하면 다음 접은 글을 참고할 것
다음은 예제 코드임.
import requests
import cv2
import numpy as np
import matplotlib.pyplot as plt
url = 'https://www.gachon.ac.kr/Web-home/_UI/images/gachon.jpg'
image_ndarray = np.asarray(bytearray(requests.get(url).content), dtype=np.uint8)
img = cv2.imdecode(image_ndarray, cv2.IMREAD_COLOR)
plt.imshow(img[...,::-1])
# Grayscale로 load
# img = cv2.imdecode(image_ndarray, cv2.IMREAD_GRAYSCALE)
# plt.imshow(img, cmap='gray')
즉, colab등에서 DIP코딩시 굳이 google drive를 마운트 하지 않더라도 URL에서 읽어서 처리해도 됨.
같이보면 좋은 자료들
2023.04.09 - [Computer/CE] - [CE] URL, URI and UNC
'Programming > DIP' 카테고리의 다른 글
[DIP] Local Contrast (1) | 2022.09.26 |
---|---|
[DIP] Modulation Transfer Function and Contrast (1) | 2022.09.26 |
[DIP] Color Space or Color Model (0) | 2022.09.21 |
[OpenCV] cv2.cvtColor (0) | 2022.07.14 |
[Math] Hessian: Summary (0) | 2022.06.05 |