Перейти до змісту

Автор:

Ігор Горовий
DevOps Engineer Lead & Senior Solutions Architect

Допоміжні інструменти для різьби по дереву. DevOps підхід

допоміжні інструменти

🛠️ Допоміжні інструменти для різьби по дереву

Колекція корисних Python-скриптів для обробки зображень та створення PDF для проектів різьби по дереву.

🧰 Доступні інструменти

  1. remove_background.py — автоматичне видалення фону із зображень, зберігає альфа-маску.
  2. apply_mask.py — застосування відредагованої альфа-маски до оригінального зображення.
  3. image_to_pdf.py — конвертація зображення в PDF з точним фізичним розміром для друку.
  4. poster_splitter.py — масштабування зображення до потрібного розміру, розділення на аркуші A4, генерація PDF-постера з мітками та координатами для збірки.

🖤 Ручне редагування прозорості (Альфа-маска)

  1. Запустіть видалення фону зі збереженням маски:
    python remove_background.py your_image.jpg -a --save-mask
    
    Це створить файл на кшталт your_image_no_bg_mask.png.
  2. Відкрийте маску в графічному редакторі (Photoshop, GIMP), виправте деталі (ніжки, тонкі елементи) та збережіть.
  3. Застосуйте відредаговану маску до оригінального зображення:
    python apply_mask.py your_image.jpg your_image_no_bg_mask.png -o your_image_final.png
    
    Результатом буде ідеальний PNG з прозорим фоном.

Скрипт apply_mask.py включений у проект!

🖨️ Розділення зображення на багатосторінковий шаблон постера

Скрипт poster_splitter.py дозволяє масштабувати зображення до вказаного фізичного розміру, розділити його на необхідну кількість аркушів A4 та згенерувати PDF для друку великого шаблону.

Основні функції:

  • Пропорційне масштабування зображення (без спотворень)
  • Додавання білих полів, якщо співвідношення сторін не збігається
  • Розділення на аркуші A4
  • Додавання міток вирівнювання (лінії в кутах)
  • Додавання координат сторінки у верхньому лівому куті (наприклад, Ряд 2, Стовпець 1)

Приклад використання:

python poster_splitter.py IMG_5989-removebg-preview.png -w 40 -t 30 -o IMG_5989_poster.pdf
- -w — ширина шаблону в см - -t — висота шаблону в см - -o — ім'я вихідного PDF-файлу

Кожна сторінка PDF матиме позначку у верхньому лівому куті з координатами (ряд, стовпець), щоб допомогти вам правильно зібрати шаблон.

🚀 Швидкий старт

Встановлення

# Клонуємо репозиторій
git clone https://github.com/igorgorovoy/woodcarving-helpers-it-tools.git
cd woodcarving-helpers-it-tools

# Створюємо віртуальне середовище
python -m venv venv
source venv/bin/activate  # На Windows: venv\Scripts\activate

# Встановлюємо залежності
pip install -r requirements.txt

Приклад робочого процесу

# 1. Видаляємо фон з фото різьблення
python remove_background.py IMG_5989.JPG -a

# 2. Конвертуємо в PDF з розміром 10 см
python image_to_pdf.py IMG_5989_no_bg.png -s 10 -o carving_10cm.pdf

📚 Детальна документація

🎯 Типові випадки використання

Для різьби по дереву

  1. Сфотографуйте свою роботу - зробіть фото вашого різьблення
  2. Видаліть фон - використовуйте remove_background.py для очищення
  3. Створіть шаблон - конвертуйте в PDF потрібного розміру
  4. Надрукуйте - роздрукуйте для використання як шаблон

Для портфоліо

  1. Обробіть фотографії - видаліть небажані фони
  2. Створіть каталог - зробіть PDF з однаковими розмірами
  3. Професійна презентація - чистий вигляд без фону

🔧 Технічні вимоги

  • Python 3.7+
  • Мінімум 2GB RAM (для видалення фону)
  • Підключення до інтернету (для першого запуску видалення фону)

📦 Залежності

  • Pillow - обробка зображень
  • reportlab - створення PDF
  • rembg - видалення фону на основі ШІ

English version

🤝 Внесок

Вихідний код

Якщо у вас є ідеї щодо нових інструментів або покращень, створюйте issues або pull requests!