问题描述
我正在抓取一个受保护的网页,该网页通过将信息显示为图像以免被抓取。当我导入格式为 .gif
的图像时,它会发送错误。我试图找到一种方法将导入的图像转换为另一种格式,如 png,但我没有成功。
from PIL import Image
import PyTesseract
import cv2
import imutils
PyTesseract.PyTesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract'
url = "url.gif"
rawimge = Image.open(urllib.request.urlopen(url))
image = imutils.resize(rawimge,width=400)
blur = cv2.GaussianBlur(image,(7,7),0)
thresh = cv2.threshold(blur,255,cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
result = 255 - thresh
phone = PyTesseract.image_to_string(result,lang='eng',config='--psm 6')
print(phone)
cv2.imshow('thresh',thresh)
cv2.imshow('result',result)
cv2.waitKey()
错误:
AttributeError: 'GifImageFile' object has no attribute 'shape'
解决方法
最后我无法将图像容器转换为另一种格式,所以我选择将图像转换为文件并进行处理。
img = Image.open(urllib.request.urlopen(url))
img.save("image.png")
image = cv2.imread("image.png",0)