GIF анимация из набора JPG картинок
Вот пример кода, который собирает все JPG из папки в GIF с заданным временем задержки между кадрами (в миллисекундах):
```python
from PIL import Image
import os
# Путь к папке с картинками
folder_path = 'путь/к/папке' # необходимо указать реальный путь к папке
# Время задержки между кадрами в миллисекундах
frame_duration = 200 # например, 200 мс
# Сортируем файлы, чтобы порядок был правильным
images = [img for img in os.listdir(folder_path) if img.endswith('.jpg')]
images.sort()
# Загружаем изображения
frames = [Image.open(os.path.join(folder_path, img)) for img in images]
# Сохраняем в GIF
frames[0].save('animation.gif',
save_all=True,
append_images=frames[1:],
duration=frame_duration,
loop=0) # loop=0 означает бесконечный цикл
```
Объяснение параметров кода:
- `duration` — задержка между кадрами в миллисекундах.
- `loop=0` — анимация будет зациклена бесконечно.
- установить библиотеку Pillow
установите имя папки '.'
если картинки jpg находятся в той же папке где и сама программа
Traceback (most recent call last):
File "C:\Users\MSI\Desktop\оля вид\кадры gif анимации .py", line 5, in <module>
im = Image.open(gif_path)
File "C:\Python39\lib\site-packages\PIL\Image.py", line 3280, in open
raise UnidentifiedImageError(msg)
PIL.UnidentifiedImageError: cannot identify image file 'анимация.gif'
Ошибка PIL.UnidentifiedImageError: cannot identify image file 'анимация.gif' возникает, когда Pillow пытается открыть файл, который либо не существует, либо не является корректным изображением.
В вашем случае, судя по сообщению, вы пытаетесь открыть GIF файл анимация.gif, который, вероятно, ещё не был создан или создан с ошибкой.
Вот что можно проверить и сделать:
Проверьте, что GIF действительно создан
После запуска кода для создания GIF убедитесь, что файл анимация.gif действительно появился в папке, откуда вы пытаетесь его открыть.
Проверьте путь к файлу
Убедитесь, что путь к анимация.gif указан правильно и что вы пытаетесь открыть именно тот файл, который создали.
Создайте GIF заново
Используйте код из моего предыдущего ответа, чтобы создать GIF из JPG изображений, например:
from PIL import Image
import os
folder_path = r'C:\Users\MSI\Desktop\оля вид' # путь к папке с JPG
frame_duration = 200
images = [img for img in os.listdir(folder_path) if img.lower().endswith('.jpg')]
images.sort()
frames = [Image.open(os.path.join(folder_path, img)) for img in images]
output_path = os.path.join(folder_path, 'анимация.gif')
frames[0].save(output_path,
save_all=True,
append_images=frames[1:],
duration=frame_duration,
loop=0)
print(f"GIF сохранён по пути: {output_path}")
Если хотите открыть GIF в Pillow
После успешного создания GIF вы можете открыть его так:
im = Image.open(output_path)
im.show() # чтобы посмотреть анимацию
Проверьте файлы JPG
Иногда ошибка может возникать, если один из JPG файлов повреждён или не открывается Pillow. Попробуйте открыть их по отдельности.
Если проблема сохраняется, пришлите, пожалуйста, полный код, который вы запускаете, и структуру папки с файлами — помогу точнее.
Свидетельство о публикации №125090700655