GoogleColabでweb上のGIFを画像に分解して保存
コード
GoogleColabのVM内に画像を保存する関係で、大きいサイズのファイルを扱うのは避ける。
また、インスタンスが切れてしまえば保存したデータは全てリセットされる。
画像を保存するディレクトリをVM上に作成
import os
path_content = '/content/img/' #VM上のディレクトリを指定
if not os.path.exists(path_content):
os.mkdir(path_content)
Googleの画像検索などで画像を開いたときに、"画像アドレスをコピー"したものをurl
に入れる。
import requests
from PIL import Image, ImageSequence
import io
import numpy as np
url = "" #保存したい画像の画像アドレス
fname_img = "img" #保存したい画像のファイル名
fname_imgext = "png" #保存したい画像の拡張子
response = requests.get(url)
image = response.content
img = Image.open(io.BytesIO(image))
for idx, frame in enumerate(ImageSequence.Iterator(img)):
fname = "{}{}-{}.{}".format(path_content, fname_img, idx, fname_imgext)
frame.save(fname)
画像アドレスに対して、request
を使ったGETリクエストを送信。
GETリクエストに対するレスポンスボディをバイナリ形式で取得して、io.BytesIO()
でBytesオブジェクトにすれば、Image.open()
で画像データを開ける。
もちろんGIFだけでなく画像ならこの方法でいけた。
おわりに
勉強した内容やふと思いついた内容を試すときに、いちいちマイドライブから読み出すのは認証する手間もあって面倒だった。
というわけで、web上のデータをダウンロードして保存する処理の方がコピペして使いまわせるし、自分的に楽なのではと思ったのが始まり。
Author And Source
この問題について(GoogleColabでweb上のGIFを画像に分解して保存), 我々は、より多くの情報をここで見つけました https://qiita.com/johnpapapa/items/70f05b19f8de0b1a8954著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .