PythonでWEB上の画像をダウンロードするには、requestsライブラリを使う。ここでは、ダウンロード対象の画像として、OpenCVのGithubから、butterfly.jpgを対象とする。
WEB上の画像をダウンロードするrequests.get()
ダウンロード対象の画像のURLを確認するために、butterfly.jpgの画像の上で右クリックをし、画像のアドレスのコピーをクリックします。
この場合、https://github.com/opencv/opencv/blob/4.x/samples/data/butterfly.jpg?raw=true
がコピーされます。
requests.get()の第一引数に、ダウンロード対象画像のURLを指定すると情報を取得できる。画像のデータをバイナリ形式で取得するために.contentを使う。
• Requests: 人間のためのHTTP — requests-docs-ja 1.0.4 documentation
import requests
url = "https://github.com/opencv/opencv/blob/master/samples/data/butterfly.jpg?raw=true"
response = requests.get(url)
image = response.content
ファイルを書き込むwrite
読み込んだバイナリ形式のデータを、jpegで書き込むにはwriteを使う。
file_name = "butterfly.jpg"
with open(file_name, "wb") as f:
f.write(image)
書き込んだファイルの表示
jpegで出力したファイルをOpenCVを使って表示します。表示ができたので、上手く動作したことが確認できました。
import cv2
img = cv2.imread("butterfly.jpg")
cv2.imshow("butterfly.jpg",img)
コメント