Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/char-noir/time_blur

A small project aimed at creating motion blur video. The python programming language and the PIL, numpy, blend_nodes, cv2 libraries were used. The project is only a prototype and will not be completed to a full-fledged program in the future.
https://github.com/char-noir/time_blur

blur-image image-processing ipynb jupyter-notebook pillow python3 video-processing

Last synced: 6 days ago
JSON representation

A small project aimed at creating motion blur video. The python programming language and the PIL, numpy, blend_nodes, cv2 libraries were used. The project is only a prototype and will not be completed to a full-fledged program in the future.

Awesome Lists containing this project

README

        

# Програмне забезпечення для створення часового розмиву рухомих об'єктів на відео

## Огляд модулів
У порядку їх використання

### initialize_folders.ipynb * необов'язковий для використання
Модуль використовується для створення папок для роботи модулів

### cut.ipynb
Модуль використовується для розділення відео на кадри

### background_cutout.ipynb
Модуль використовується для виділення нерухомого фону відео

### object_cutout.ipynb
Модуль використовується для вирізання рухомих об'єктів на кожному кадрі

### blend.ipynb
Модуль використовується для створення розмиття у часі вирізаних об'єктів

### add_background.ipynb
Модуль використовується для об'єднання фону та розмитих кадрів

### merge.ipynb
Модуль використовується для об'єднання кадрів у відео

### clear.ipynb * необов'язковий для використання
Модуль використовується для видалення тимчасових файлів-зображень

## Огляд параметрів програми

Файл налаштувань - config.json .

.my-table tr:nth-last-child(-n+8):hover {
background: #ff6961 ;
color:white;
}

| Налаштування | Опис | Допустимі значення |Змінюється|
| ----------- | ----------- |----------- | ----------- |
| program.time_washout_step| Використовується для визначення кількості кадрів, які будуть використані для розмиття в часі | Від 1 до кількості кадрів, не рекомендується більше 20| Бажано змінити |
| program.amount_of_chunks| Використовується для визначення кількості фрагментів, на які розбиваються кадри для знаходження фону | Від 1 до кількості кадрів, рекомендується $\sqrt{кількість кадрів}$| Бажано змінити |
| program.shading_pixels| Використовується для визначення піксельного відступу від справжнього значення пікселю фону | Від 1 до 256, рекомендується не більше 100| Бажано змінити |
| video.file_name | Використовується для визначення ім'я відеофайлу для обробки | Назва бажаного файлу у потрібній теці| Бажано змінити |
| video.output_format | Використовується для визначення формату вихідного відео| Підтримувані формати: 'mp4','avi' |Бажано змінити |
| images.folder | Використовується для визначення теки всіх зображень| Назва корневої папки для зображень, що може бути досягнута програмою | Бажано не змінювати |
| images.subfolder.divided | Використовується для визначення теки зображень, які отримані безпосередньо з відео | Назва теки у корневій теці зображень |Бажано не змінювати |
| images.subfolder.cutted | Використовується для визначення теки зображень в яких вирізаний фон | Назва теки у корневій теці зображень |Бажано не змінювати |
| images.subfolder.traced | Використовується для визначення теки зображень з розмитими у часі об'єктами | Назва теки у корневій теці зображень |Бажано не змінювати |
| images.subfolder.background | Використовується для визначення теки зображень з фонами відео| Назва теки у корневій теці зображень |Бажано не змінювати |
| images.subfolder.result | Використовується для визначення теки результуючих зображень | Назва теки у корневій теці зображень |Бажано не змінювати |
| video.folder | Використовується для визначення теки з вхідним та вихідним відео | Назва доступної теки |Бажано не змінювати |
| video.result_sufix | Використовується для визначення суфіксу до назви готового відео | Латинська строка |Бажано не змінювати |

## Запуск

Кожен модуль програми є блокнотом, що дозволяє відстежувати виконання програми по етапам.

Після виконання кожного етапу є можливість ознайомитися з результатами заради затвердження та переходун на наступний етап чи перезапуск модулю з зміненими відповідними параметрами.

## Авторство відеороликів-прикладів
Відео від користувача Daniel Trejo на Pixabay

Відео від користувача Tibor Janosi Mozes на Pixabay