Я пытаюсь прочитать изображение с URL-адреса.
Для этого я создал функцию ниже. Для некоторых URL-адресов, которые я ввожу, он работает именно так, как я хочу, но для других это не так. В этом случае функция cv2.imread(img, cv2.IMREAD_COLOR) возвращает нет.
Мой код:
import cv2
from urllib.request import Request, urlopen
import numpy as np
def urlToImage(url):
# download image,convert to a NumPy array,and read it into opencv
req = Request(
url,
headers={'User-Agent': 'Mozilla5.0(Google spider)', 'Range': 'bytes=0-{}'.format(5000)})
resp = urlopen(req)
img = np.asarray(bytearray(resp.read()), dtype="uint8")
img = cv2.imdecode(img, cv2.IMREAD_COLOR)
# return the image
return img
img = urlToImage('https://my_image.jpg')
print(img)
Пример URL, который работает:
"https://image.freepik.com/fotos-gratis/paisagem-ambiente-bonito-de-campo-verde_29332-1855.jpg"
Пример URL, который не работает:
"https://veja.abril.com.br/wp-content/uploads/2019/03/tecnologia-samsung-s10-01.jpg"
Что я здесь делаю неправильно?