StockSort — крошечная десктопная утилита, которая за секунды находит и убирает в сторону технический брак: смазы, шевелёнку и расфокус. Незаменима перед импортом серии в Lightroom или загрузкой на фотосток.
- Поддержка Sony RAW (
.ARW) — встроенный JPEG-превью извлекается на лету без полного декодирования, что даёт ускорение в 15–20 раз - Анализ резкости через OpenCV — дисперсия Лапласиана точно отличает чёткие кадры от смазанных
- Три уровня строгости — Мягкий / Стандарт / Строгий для любых сценариев отбора
- Не зависает — анализ идёт в фоновом потоке, интерфейс всегда отзывчив
- Автономный
.exe— не требует установленного Python и библиотек
Папка с кадрами
│
▼
[Извлечение превью] ← rawpy мгновенно читает JPEG из ARW
│
▼
[Оценка резкости] ← OpenCV: дисперсия Лапласиана на 640×480
│
├── score ≥ threshold → кадр остаётся на месте ✓
│
└── score < threshold → кадр перемещается в ./Брак/ ✗
| Режим | Порог Лапласиана | Когда использовать |
|---|---|---|
| Мягкий | 70 | Портреты, намеренное боке |
| Стандарт | 120 | Универсальный режим для большинства съёмок |
| Строгий | 180 | Репортаж, спорт, стоковая фотография |
Скачайте StockSort.exe из папки releases/ и запустите — установка не нужна.
# 1. Клонировать репозиторий
git clone https://gitverse.ru/gorinator/StockSort.git
cd StockSort
# 2. Установить зависимости
pip install -r requirements.txt
# 3. Запустить
python stocksort.pypip install pyinstaller
pyinstaller --onefile --windowed --name StockSort \
--collect-all customtkinter \
--collect-all rawpy \
stocksort.py
# Готовый файл: dist/StockSort.exe| Библиотека | Роль |
|---|---|
customtkinter |
Современный UI с тёмной темой |
rawpy |
Чтение Sony ARW, извлечение JPEG-превью |
opencv-python |
Вычисление дисперсии Лапласиана |
Pillow |
Конвертация изображений |
numpy |
Матричные операции |
StockSort/
├── stocksort.py # Весь код приложения (~200 строк)
├── requirements.txt # Зависимости для pip
└── README.md
MIT © 2025 gorinator