Удаляли когда-нибудь фон на фото через онлайн-сервис и задумывались: куда ушло изображение и кто его теперь увидит? Такие онлайн-инструменты, конечно, удобны, но часто расплачиваться приходится собственной приватностью. Чтобы не гадать, где окажутся ваши снимки, создайте свой личный удалитель фона, который работает только на вашем компьютере.
Что будем делать
Собираем простую настольную программу, которая:
Вся обработка происходит исключительно на вашем устройстве. Для этого понадобятся:
rembg — это бесплатная библиотека на Python и консольная утилита, которая вырезает фон с помощью нейросетей. Она умеет различать объекты на переднем плане — людей и предметы — и отделять их от окружающего фона.
Всё просто: если у вас ещё нет Python — скачайте свежую версию на python.org. Проверьте, что всё работает, командой:
Далее — создайте папку для проекта, откройте терминал (PowerShell или Terminal в macOS/Linux) и выполните:
Внутри папки нужно создать отдельное “виртуальное окружение” Python и активировать его — это простая страховка, чтобы ничего не сломалось. Затем установите нужные пакеты:
rembg нужен для удаления фона, а Pillow пригодится для работы с картинками. Подготовка завершена, пора переходить к самому интересному — коду.
Самый простой фонорез: свой удалитель за минуту
В папке background-remover создайте новый файл с именем app.py. Откройте его в редакторе и вставьте следующий код:
Всё — это и есть ваш удалитель! Давайте посмотрим, как он работает.
Сначала импортируем наши библиотеки. Затем указываем путь к исходной картинке и файл, куда сохраняем результат — оба файла должны быть в этой же папке. Скопируйте ваше фото с именем input.jpg в этот же каталог.
Готовое изображение будет в формате output.png — только PNG поддерживает прозрачность, а JPEG нет. После удаления фона у вас останется картинка без задника, и тут нужен именно PNG.
А вот и три главных шага процесса:
Команда with нужна для аккуратного закрытия файлов после обработки. Это просто хорошая привычка для любого программиста.
Пора запускать! Откройте терминал и введите:
При первом запуске rembg скачается нужная модель — это займёт пару минут. После этого всё будет работать только у вас на компьютере и очень быстро. Если всё сделано правильно, в вашей папке появится output.png — уже без фона!
Секретная кнопка Python: как одной командой ускорить ваш скрипт!
Параметр Python -O — не волшебная палочка, которая ускорит любой скрипт, но в ряде случаев вы удивитесь бесплатному приросту скорости. Попробуйте сами, это элементарно!
Делаем скрипт настоящей удобной программой
Пока скрипт работает только с “input.jpg”, а файл на выходе всегда “output.png”. Для знакомства этого более чем достаточно, но удобнее, если программа принимает любые картинки. Давайте добавим такую гибкость! Переписываем app.py так:
Код выглядит объёмно, но всё просто. sys.argv[1] — это название файла, которое вы указываете после python app.py в терминале. Например, если набрать:
Теперь sys.argv[1] будет равен my_image.jpg. Следом идёт лёгкая проверка, есть ли аргумент и существует ли такой файл. Если что-то не так — вы увидите предупреждение.
На последнем этапе программа сама сформирует имя для файла-результата — к исходному названию добавится "_no_bg.png". Запустите код, добавив к команде свой файл!
5 гениальных однострочников Python, которые изменят ваше программирование!
Зачем растягивать код, если можно уложиться в одну строку? Секреты: быстрая замена переменных, мгновённый подсчёт — эти короткие трюки прокачают ваш стиль!
Превращаем скрипт в удобную программу с окном
Консоль удобна для продвинутых, но большинству хочется: нажал на кнопку — и готово. Давайте соберём графическое приложение на Python с помощью Tkinter.
Tkinter встроен в Python “из коробки”, ничего качать не нужно. Вся обработка фона осталась прежней, мы добавляем только визуальную оболочку.
Создайте новый файл gui_app.py. Для начала — простое окно:
Запустите его.
Перед вами — простое пустое окошко. Теперь добавим выбор файла через диалог. Обновляйте код:
Теперь можно кликнуть кнопку, выбрать файл, увидеть его имя и предпросмотр прямо в программе. Осталось добавить кнопку для удаления фона! Впишите функцию чуть выше root.mainloop():
Всё! Кнопка действует — после нажатия программа удаляет фон, а результат сохраняется в той же папке, где был исходный файл.
Поздравляю! Теперь у вас не просто скрипт, а полноценная программа с окошком для удаления фона.
Крутые идеи, как прокачать вашу программу
Я специально оставил лишь базовые функции, но возможностей — целое море! Хотите видеть результат до сохранения? Добавьте предпросмотр, чтобы сравнить оригинал и итог бок о бок. Нужно обработать десятки файлов разом? Реализуйте пакетную обработку. Добавьте прогресс-бар или возможность перетаскивать изображения мышкой — и работать станет ещё приятнее.
Подпишитесь и узнавайте первыми о свежих локальных AI-инструментах для фото
Классная прокачка — сделать из проекта настоящий экзешник с помощью PyInstaller. Тогда запуск — в один клик, как у обычных программ, без заморочек с терминалом.
Я много лет работаю с Python и всегда ставлю эти 5 инструментов на каждый новый компьютер!
Автоматическое исправление опечаток, изолированные окружения, удобная отладка, современные возможности кода и дружелюбная консоль — эти инструменты экономят мне часы работы каждую неделю.
В следующий раз, когда захотите быстро убрать фон с фото — забудьте про сомнительные веб-сервисы. Теперь у вас есть свой инструмент, который полностью защищает вашу приватность. А последнюю версию программы я выложил на своём GitHub — обязательно загляните!
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь
Также подписывайтесь на нас в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru