Импорт изображений из Github в Colab

У меня проблемы с импортом собственных изображений в https://colab.research.google.com/github/vijishmadhavan/Light-Up/blob/master/ArtLine.ipynb#scrollTo=eOhPqC6fysD4.

Я могу выполнить образцы изображений (например, https://wallpapercave.com/wp/wp2504860.jpg ), но когда я копирую то же изображение и помещаю его в свой собственный репозиторий Github ( https:/ /github.com/thiirane/Artline_images/blob/main/wp2504860.jpg), я получаю эту ошибку.

Вот код

#url = 'https://wallpapercave.com/wp/wp2504860.jpg' #@param {type:"string"}
url='https://github.com/thiirane/Artline_images/blob/main/wp2504860.jpg'#@param {type:"string"}
from google.colab import files
from PIL import Image
from IPython.display import Image

#uploaded = files.upload()
response = requests.get(url)

img= PIL.Image.open(BytesIO(response.content)).convert("RGB")
img_t = T.ToTensor()(img)
img_fast = Image(img_t)
show_image(img_fast, figsize=(8,8), interpolation='nearest');

Вот ошибка:

UnidentifiedImageError                    Traceback (most recent call last)
<ipython-input-18-5d0fa6dc025f> in <module>()
      8 response = requests.get(url)
      9 
---> 10 img= PIL.Image.open(BytesIO(response.content)).convert("RGB")
     11 img_t = T.ToTensor()(img)
     12 img_fast = Image(img_t)

/usr/local/lib/python3.6/dist-packages/PIL/Image.py in open(fp, mode)
   2860         warnings.warn(message)
   2861     raise UnidentifiedImageError(
-> 2862         "cannot identify image file %r" % (filename if filename else fp)
   2863     )
   2864 

UnidentifiedImageError: cannot identify image file <_io.BytesIO object at 0x7fb88126f0f8>

Буду признателен за вашу помощь. Вероятно, я чего-то не делаю, чтобы позволить Colab получить доступ к моему репозиторию.

Редкие достижения на Github ✨
Редкие достижения на Github ✨
Редкая коллекция доступна в профиле на GitHub ✨
0
0
1 411
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это потому, что URL-адрес не является прямой ссылкой для скачивания. Используйте это вместо этого.

import requests
from io import BytesIO
from PIL import Image
url = 'https://raw.githubusercontent.com/thiirane/Artline_images/main/wp2504860.jpg'
page = requests.get(url)
Image.open(BytesIO(page.content))

Или вы можете использовать git для загрузки репозитория, содержащего изображения.

!git clone https://github.com/thiirane/Artline_images.git images
from PIL import Image
Image.open('images/wp2504860.jpg')

Другие вопросы по теме