728x90
링크로 이미지 다운로드
1. pil로 이미지 다운로드
2. cv2로 이미지 다운로드
3. pil로 이미지 다운로드 후 cv2로 변환
4. cv2로 이미지 다운로드 후 pil로 변환
1. PIL Image 활용
from PIL import Image
from urllib.request import urlopen
# image url
url = "https://post-phinf.pstatic.net/MjAyMjA4MDVfNzUg/MDAxNjU5NjYwOTI1Njcx.8YnKl-YZKrsjoU5QsMwao4yvQEV0dUfQ5BrWRAKvhqAg.i4sgcQ_KGnfyAcN3TaMx4df-P1iOo8vGOgWgTk0nbYog.JPEG/202208001017_800.jpg?type=w1200"
# open url
image_path = urlopen(url).read()
# get image instance
image = Image.open(BytesIO(image_path))
# display image to GUI
image.show()
# save image as jpg(확장자는 자유롭게 선택 가능)
image.save('image_name.jpg',"JPEG")
2. cv2 활용
from urllib.request import urlopen
import cv2
from google.colab.patches import cv2_imshow # to use cv2.imshow in Colab
import numpy as np
# image url
url = "<https://post-phinf.pstatic.net/MjAyMjA4MDVfNzUg/MDAxNjU5NjYwOTI1Njcx.8YnKl-YZKrsjoU5QsMwao4yvQEV0dUfQ5BrWRAKvhqAg.i4sgcQ_KGnfyAcN3TaMx4df-P1iOo8vGOgWgTk0nbYog.JPEG/202208001017_800.jpg?type=w1200>"
# open url
image_path = urlopen(url).read()
# transform image_path : bytearray to numpyarray
image = np.asarray(bytearray(image_path), dtype='uint8')
image = cv2.imdecode(image, cv2.IMREAD_COLOR)
# display image to GUI
cv2.imshow("image_name", image)
# cv2_imshow(image) # display image to Colab GUI
# save image
cv2.imwrite("image_name.jpg", image)
PIL과 cv2 간 변환
3. PIL → cv2
import cv2
import numpy as np
from PIL import Image
from google.colab.patches import cv2_imshow # to use cv2.imshow in Colab
# open image using PIL
pil_image=Image.open("image.jpg")
# use numpy to convert the pil_image into a numpy array
numpy_image=np.array(pil_image)
# convert to a openCV2 image and convert from RGB to BGR format
opencv_image=cv2.cvtColor(numpy_image, cv2.COLOR_RGB2BGR)
# display image to GUI
cv2.imshow("PIL2OpenCV",opencv_image)
# cv2_imshow(image) # display image to Colab GUI
# save image as "image_name.jpg"
cv2.imwrite("image_name.jpg", image)
4. cv2 → PIL
import cv2
from PIL import Image
#open image using openCV2
opencv_image=cv2.imread("image.jpg")
# convert from BGR to RGB
color_coverted = cv2.cvtColor(opencv_image, cv2.COLOR_BGR2RGB)
# convert from openCV2 to PIL
pil_image=Image.fromarray(color_coverted)
# display image to GUI
pil_image.show()
# save image as "image_name.jpg"
pil_image.save("image_name.jpg")
728x90
'TIL저장소' 카테고리의 다른 글
[OS] 윈도우 경로를 리눅스 경로처럼 적으려면, 윈도우 경로를 bash에 입력할 때 주소 슬래시 사용법 (0) | 2023.01.17 |
---|---|
[timeout]파이썬에서 이미지 링크로 이미지 다운받을 때 timeout설정하여 시간 단축하기 (0) | 2023.01.17 |
[scp] scp로 대용량 파일/폴더 전송(로컬 -> 서버 / 서버 -> 로컬) (0) | 2023.01.17 |
[HackerRank] 해커랭크 이용 후기 (0) | 2022.09.05 |
[HackerRank] 해커랭크 풀이 계획 (0) | 2022.09.02 |