How to read image from URL (urllib.error.HTTPError: HTTP Error 403: Forbidden)

How to read image from URL (urllib.error.HTTPError: HTTP Error 403: Forbidden)

我有一个 return 图像 (API) 的代码:

url1 = "https://api.twilio.com/2010-04-01/Accounts/AC9567862a70d7b000488e8ba80bc19787/Messages/MMebd9e089637c2c740608199af762fc19/Media/ME49a13b9e0732d78b84fe81d6c3c5a3f2"

在broswer上手动打开图片自动转换https地址如下:

url2 = "https://s3-external-1.amazonaws.com/media.twiliocdn.com/AC9567862a70d7b000488e8ba80bc19787/f28ad1174d0871048be68207a88d5cea"

from skimage import io
img = io.imread(url1) # < ---- error here
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
text = pytesseract.image_to_string(img)

我正在尝试从 url1 读取图像并对图像执行 OCR。 (即直接从(url1)读取图片,无需在broswer上打开使用备用地址)

但是,io.imread(url1) 给出错误“urllib.error.HTTPError:HTTP 错误 403:禁止访问”。

io.imread(url2) 没有 return 任何错误。

有没有办法直接从url1读取图片?

您可以在第二行使用此代码,因为 skimage.io.imread() 将 URL 作为字符串输入。

img = io.imread(String(URL))

您也可以使用 cv2 模块。

# importing OpenCV(cv2) module
import cv2

img = cv2.imread(URL)

# Output img with window name as 'image'
cv2.imshow('image', img)