Skip to content

Repository files navigation

🇷🇺 Русский • 🇬🇧 English

🔢 Animated Captcha Generator

Python • Pillow • NumPy • SciPy

Гибкий и мощный генератор капч для создания статичных (PNG) и анимированных (GIF) изображений. Создает сложные, устойчивые к OCR капчи с использованием математических искажений, кривых Безье и динамического размытия.


Stars Forks Python Pillow NumPy SciPy License


🎬 Как это выглядит

Пример анимированной GIF капчи
Пример анимированной капчи (цифры подпрыгивают, полоса размытия скользит)


✨ Возможности

  • 📦 Два формата: Генерация статичных изображений (.png) и анимаций (.gif).
  • 🎨 13 встроенных шрифтов: Papyrus, Book Antiqua, Mistral, Captcha Code, Courier New (включая bold/italic), LED Dot Matrix, Lucida Handwriting, Tahoma и др.
  • 🌀 Математические искажения:
    • Случайные кривые Безье на фоне (на основе полиномов Бернштейна).
    • Синусоидальная траектория расположения текста.
    • Случайный поворот каждого символа (до 60 градусов).
  • 🎞️ Анимация (GIF):
    • Эффект "подпрыгивания" цифр с случайной фазой и амплитудой.
    • Бесшовная движущаяся полоса гауссова размытия (blur strip).
  • 🛠️ Полная кастомизация: Все параметры (размер, цвет, количество точек кривой, амплитуда размытия и т.д.) вынесены в начало скрипта.

📸 Скриншоты

🖼️ Статичная капча (PNG) 🎞️ Кадр из анимации (GIF)

🚀 Установка и запуск

Требования

  • Python 3.10+
  • Библиотеки: Pillow, NumPy, SciPy

Шаги

  1. Клонируйте репозиторий:
git clone https://github.com/A-R-E-S/animated-captcha-generator.git
cd animated-captcha-generator
  1. Создайте и активируйте виртуальное окружение (опционально, но рекомендуется):
python -m venv .venv
# Windows:
.venv\Scripts\activate
# Linux / macOS:
# source .venv/bin/activate
  1. Установите зависимости:
pip install pillow numpy scipy
  1. Запустите скрипт:
python captcha_generator.py
  1. Следуйте инструкциям в консоли:
Формат капчи (png / gif): gif
Сколько каптч сгенерировать: 5

Сгенерированные файлы будут сохранены в папку captchas/.


⚙️ Настройка

Все основные параметры находятся в блоке ПАРАМЕТРЫ ДЛЯ НАСТРОЙКИ в файле captcha_generator.py. Вы можете легко изменить:

  • IMAGE_WIDTH, IMAGE_HEIGHT: Размер итогового изображения.
  • MAX_ROTATION_ANGLE: Максимальный угол наклона цифр.
  • FONT_SIZE: Размер шрифта.
  • GIF_FRAMES, GIF_FRAME_DURATION: Количество кадров и скорость проигрывания GIF.
  • BLUR_RECT_DIRECTION: Направление движения полосы размытия (1 — вправо, -1 — влево).

⚠️ Внимание: Для работы скрипта необходимо, чтобы файлы шрифтов (.ttf, .otf) находились в той же папке, что и сам скрипт.

📄 Лицензия

Проект распространяется под лицензией MIT.


Если проект оказался полезным — поставь ⭐


About

Animated CAPTCHA generator: bouncing digits, Bézier curves, wrapping blur. PNG & GIF.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages