python - 以与 png 相同的方式使用来自 url 的 gif 的第一帧进行图像处理?
问题描述
我正在尝试从 url 获取 gif 的第一帧,并仅将第一帧用于不同的图像处理。具体来说,获取像素的颜色。但是,当我尝试时,我会收到诸如“'GifImageFile' 对象不可下标”和“'NoneType' 对象不可下标”之类的错误。
我将要处理的 gif 实际上都只是一帧而不是动画。由于某种原因,它们只是以这种格式而不是 pngs/jpeg 保存,并且它们似乎在 pngs/jpegs 成功的地方失败了。我真的只是希望能够像处理 pngs/jpegs 一样处理 gif,我认为抓住第一帧就可以了。
from PIL import Image, ImageStat
from io import BytesIO
import requests
image = requests.get('link.gif', stream=True).content
image = Image.open(BytesIO(image))
image.seek(0)
color = image[1,1]
解决方案
我最终在这篇文章中找到了我需要的信息:使用 Python PIL 从动画 GIF 中获取像素颜色
我更新的代码:
from PIL import Image, ImageStat
from io import BytesIO
import requests
image = requests.get('link.gif', stream=True).content
image = Image.open(BytesIO(image))
rgb_im = image.convert('RGB')
color = rgb_im.getpixel((1, 1))
推荐阅读
- c++ - Visualstudio / cmake启动json文件获取的$ {relativeFile}不包括反斜杠
- java - 更新 Android Studio 后链接引用资源和重复值失败
- hibernate - 使用 H2 自动递增
- python - 如何在 django orm 和 postgres 的 json 字段中使用列值作为键?
- javascript - 更改 react-native-maps 中活动标记的不透明度
- twilio - Twilio Whatsapp 解决方案是否支持向 whatsapp 组发送消息
- reactjs - 在 asp.net 核心中反应 js babel 转换和缩小
- python - 在 OSX 上使用 AMD Radeon eGPU (Metal) 在 Python 中加速图像/掩码到 numpy 数组
- python-3.x - 运行 HTTP 服务器时出现 Unicode 解码错误
- javascript - 为什么 delay() 方法在会话存储中不起作用?