У меня есть 1000 файлов JPG, в которых все имеют белый фон. Можно ли поменять белый цвет фона на красный (например) для всех файлов, чтобы не приходилось делать это один за другим?

Я бы предпочел использовать Linux, но я могу справиться с Windows.

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

1 ответ1

1

Если есть способ сделать, то convert это твой друг.

Я использовал convert для многих вещей, но не специально для этого. Кроме того, вопрос о том, есть ли у вас цвет фона на ваших изображениях - это может быть просто часть изображения, которая имеет тот же цвет, что и фон (что немного отличается), однако даже в этом случае convert может быть в состоянии помочь.

Глядя на man convert можно изменить цвет фона. Существует также опция opaque чтобы изменить определенный цвет на цвет фона.

Таким образом, играя с вашими конкретными изображениями, и варианты вы можете найти то, что работает для ваших изображений.

Затем последним шагом будет написание небольшого сценария оболочки для зацикливания всех ваших изображений, например

mkdir converted_img
for img in $(ls orig_image/*) ; do
   convert {insert-options-which-does-the-job} orig_image/$img converted_img/$img
done

и все должно быть сделано

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .