Как удалить определенный пробел с изображения с помощью ImageMagick - PullRequest
1 голос
/ 25 мая 2019

В настоящее время у меня есть тысячи снимков, на которых я хочу избавиться от пустого пространства вокруг объекта, но не внутри объекта. Тем не менее, пустое пространство не является постоянным. Смотрите фотографии ниже.

Изображение 1:

enter image description here

Изображение 2:

enter image description here

Изображение 3:

enter image description here

Такие параметры не работают, поскольку они удаляют все пробелы в изображениях

convert image.png -fuzz 10% -transparent white output.png

Есть предложения?

1 Ответ

1 голос
/ 26 мая 2019

Что вы подразумеваете под избавлением от пустого пространства? Если вы хотите сделать его прозрачным, то в ImageMagick 6 вы можете создать целую папку изображений, используя команду mogrify следующим образом:

Процесс включает в себя заполнение изображения белой рамкой в ​​1 пиксель, чтобы гарантировать, что белый цвет вокруг. Затем делаем нечеткую заливку. Затем удалите лишний пиксель вокруг. Я предположил, что цвет фона почти белый. Измените значение fuzz по желанию.

Create a new directory to hold the output (or backup your input directory)
Change directory to the one holding your input images

mogrify -path path_to/outdirectory -format png -bordercolor white -border 1 -fuzz 20% -fill none -draw "matte 0,0 floodfill" -shave 1x1 *.png


Вот результирующие изображения.

enter image description here

enter image description here

enter image description here

Конечно, вам нужно будет загрузить их, чтобы увидеть, что они прозрачные.

Обратите внимание, что загруженные мной изображения были в формате JPG. Так что если ваши изображения jpg, а не png, как в вашей команде, то измените * .png на * .jpg. Или просто используйте *, чтобы изменить все форматы.

См https://imagemagick.org/Usage/basics/#mogrify https://imagemagick.org/Usage/draw/#matte

Если вы используете ImageMagick 7, измените matte на alpha и измените mogrify на magick mogrify.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...