• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Пакетная обработка изображений в GIMP (простой метод)

BKeaton

Green Team
18.07.2018
204
335
BIT
49
Предисловие
Мне понадобилось сделать однотипную операцию с набором файлов — прислали много одностраничных файлов .pdf (после сканирования) и я хотел конвертировать их в любой формат изображений, чтобы было удобно просматривать как картинки, а не открывать по отдельности Foxit Reader'ом.

Хоть файлов и не очень много (24), но мне было лень открывать каждый из них, потом сохранять. Я решил научиться массово обрабатывать файлы (не обязательно .pdf, вообще любые) в GIMP. Это, безусловно, полезный навык и он пригодится в дальнейшем.

В GIMP нет встроенной подобной функции, поэтому я стал гуглить. Первой в выдаче поиска стала статья на Хабрахабр с весьма подходящим названием «Пакетная обработка изображений в GIMP». Прочитав эту статью я пришёл в ужас. Я сам люблю повозиться, изучить что-то новое, но автору той статьи, на мой взгляд, совсем уж нечем заняться. Суть в том, что, по мнению автора, чтобы это сделать (обработать файлы в пакетном режиме в GIMP), нужно:

1) выучить новый язык программирования (Script-Fu);
2) написать программу на этом языке.
3) хитро запустить свою программу в консоли, не забывая экранировать слеши, и использовать регулярные выражения для имён файлов (а, вы ещё и регулярных выражений не знаете? Тогда ещё нужно выучить и их).

В комментариях появлялись проблески сознания — установить соответствующую программу и в ней уже всё сделать (автору нужно было всего лишь изменить размер файлов). Ещё предлагалось выучить другой язык программирования на котором, вроде бы, проще. Автору той инструкции не понравилась идея установить программу, которая бы изменила размер группы файлов для него, — он хотел показать, как это сделать именно в GIMP.

В данной инструкции я покажу, как сделать массовую обработку файлов именно в GIMP, но сделать это очень простым способом. На самом деле, в Интернете есть и нормальные инструкции и даже видео, там описываются простые методы (хоть и используется старый плагин). Но я решил написать свой мануал, т. к. хочу рассказать о другом плагине, более гибком. Он позволяет быстро в пакетном режиме проводить не только несколько заранее заданных операций, он позволяет выполнять в пакетном режиме вообще все операции, которые умеет GIMP.


Установка BIMP
Нам понадобиться плагин GIMP под названием BIMP (Batch Image Manipulation Plugin). На официальном сайте GIMP плагин представлен здесь. Ещё у него есть своя собственная . Скачиваем плагин и распаковываем его. В каталоге gimp-plugin-bimpbinwin32 находятся два файла и каталог. Это всё нужно скопировать в каталог, который авторы плагина хитро обозначили так:
<Programs-dir><GIMP-folder>libgimp<version>plug-ins
или
<User-dir>.gimp<version>plug-ins

Возможно, вам будет проще сориентироваться, если я напишу пример своего каталога для копирования этих файлов:
C:Program FilesGIMP 2libgimp2.0plug-ins

После копирования в меню Файл появится новая строка Batch Image Manipulation (да, к сожалению, русского языка нет). При клике на этот пункт меню откроется вот такое окно:
1575156719603.png


Add images – добавить изображения. Доступны такие опции как:
  • Add single image — добавить единичное изображение
  • Add folders – добавить каталоги
  • Add all opened images – добавить все открытые изображения
Там где Output folder можно задать каталог, куда будут помещены изображения после обработки.

Нажав на кнопку Add, можно выбрать операции, которые будут выполнены в пакетном режиме. Эти операции можно сочетать, т. е. производить одновременно по нескольку действий к группе файлов.

Я переведу названия основных операций:
Resize – изменение размера
Crop – обрезка
Flip or Rotate – перевернуть или повернуть
Color correction – коррекция цвета
Sharp or Blur – резкость или размытие
Add a Watermark – добавить водяной знак
Change format and compression – изменить формат или сжатие
Rename with a pattern – переименовать по образцу
Other GIMP procedure – другие процедуры GIMP


Произвольные операции с файлами в пакетном режиме в GIMP
Самой интересной из всех вышеназванных операций является пункт Other GIMP procedure:
1575156755216.png

Т.е. можно выбрать любые операции, которые умеет GIMP, задать необходимые параметры (если они предусмотрены). И всё это можно сочетать с вышеназванными функциями или между собой. В общем всё очень здорово. Чуть не забыл — если у вас есть скрипты на языках, которые поддерживает GIMP, то эти скрипты также в этом меню и их можно использовать.


Как конвертировать много файлов .pdf в картинки
При попытке конвертировать много .pdf в .jpg я столкнулся с трудностью — невозможность импорта файлов в формате .pdf в данный плагин, поскольку .pdf отсутствует среди поддерживаемых форматов. Тем не менее, это можно сделать. Сначала открываем все .pdf файлы в GIMP (можно выбрать все необходимые файлы и перетащить в окно программы GIMP, чтобы сделать это быстро, за один раз). Далее в плагине выберите Add all opened images, т.е. добавить все открытые изображения. И… всё готово — можно выполнять любую пакетную обработку этих файлов, в том числе и сохранить в нужном формате.
1575156816166.png




Сергей
Вторник на 04:05 ПП
Огромнейшее спасибо! Все получилось!

Раньше все натыкался на статью на хабре, но хрень получалась!


Владимир
Пятница на 09:03 ДП
К великому сожалению не умеет работать со слоями. Всего-то и нужно открыть кучу .png, заменить в них прозрачный слой на фоновый цвет, или градиент и сохранить как .jpg. Но как это сделать без слоев, я не придумал. Была еще идея использовать выделение, но оно тоже не поддерживается. Итого мы имеем непригодный для работы плагин, т.к. нет ни одного инструмента, ограничивающего область применения фильтров и прочих операций. А ведь это основа редактирования изображений в подобных программах. Без выделений и слоев любой графический редактор не более чем MSPaint – вроде бы и есть, и даже что-то умеет, но работать невозможно. Учитывая, что тут речь все-таки о пакетной обработке, я не могу сказать, что данный плагин полностью бесполезен. Он может быть полезен в простых случаях. Но вот то что вы написали, что “он позволяет выполнять в пакетном режиме вообще все операции, которые умеет GIMP” – это неправда. Он не позволяет выполнять самые важные операции. Да и то, что есть сделано неудобно. Даже не удосужились ко всем операциям прикрутить их названия, как они отображаются в английской версии GIMP’а. Просто вывели какие-то технические названия. Конечно этих операций немало, но вписать название для каждой можно было бы за день. А вообще, лучшая реализация пакетной обработки – макросы как в фотошопе. Интуитивно понятно, все операции делаются как обычно. При этом запоминаются, а потом просто повторяются на множестве картинок. И в такой реализации поддерживаются действительно все функции. У нас на работе сотрудник, который ничего не знал о пакетной обработке в фотошопе и даже никогда о подобном не задумывался, самостоятельно разобрался и все сделал за каких-то пол-часа. Я с данным плагином провозился часа 4, и выяснил, что слои и выделение не поддерживаются. С GIMP’а на фотошоп я из-за этого конечно не перейду, но только потому, что у нас уже есть человек с фотошопом, который всегда сделает то, что я не смогу в GIMP’е.


OLG
Воскресенье на 12:04 ДП
А не проще, чем заниматься мазохизмом с GIMP. Воспользоваться консольным imagemagick.


Катя
Понедельник на 02:05 ПП
Подскажите пожалуйста, как задать команду для пакетной обработки по “Цвет” – Кривые- заданию уровня
Цель осветлить фотографии.


Devust
Вторник на 02:02 ПП
А, собственно, как сохранить-то файлы PDF в виде JPG?
Там куча процедур, но ни одна так и не походит на что-то типа export to, convert to, save as JPG-file и т.д.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!