使用 Gif 图像进行 ImDecode

ImDecode with Gif Images

当我尝试解码从 URL 获得的 gif 图像时,我得到了 none 返回值。有人可以指导我做错什么吗?我没有太多处理图像,所以我真的可以使用一些建议。

gif = "someurlthatgoestoagifimage.gif"
resp = urllib.request.urlopen(gif)
image = np.asarray(bytearray(resp.read()), dtype ="uint8")
image = cv2.imdecode(image, cv2.IMREAD_COLOR)

Opencv 不支持解码gif 图像。您可以使用 PIL 或 imageio 等其他库来解码或读取图像。

例如使用imageio,可以读取gif图片如下:-

resp = urllib.request.urlopen(gif_url)
img_rgb = imageio.imread(resp.read())
img = cv2.cvtColor(img_rgb, cv2.COLOR_RGB2BGR)
cv2.imwrite('image.png', img)

参考:, using imread of OpenCV failed when the image is Ok