Если вы хотите использовать ImageMagick, это можно сделать в одной строке кода, используя его функцию -trim дважды, по одному разу для каждой из двух серых областей - темной и светлой.Функция обрезки ищет почти постоянные области на заднем плане и удаляет их.-Fuzz XX% - это процентное изменение серых цветов в каждой области, которое считается одним и тем же цветом.
Imagemagick уже установлен с большинством дистрибутивов Linux и доступен также для Windows и Mac OSX.
Ввод:
![enter image description here](https://i.stack.imgur.com/NTyWP.jpg)
convert 0.png -fuzz 30% -trim +repage -trim +repage 0_trim.png
![enter image description here](https://i.stack.imgur.com/tIOoj.jpg)
Фактически вы можете обрабатывать целую папку изображений, используя ImageMagick mogrify, а не конвертировать.
Create a new directory to hold the output
Change directory to the one containing your images
mogrify -path path_to/new_directory -fuzz 30% -trim +repage -trim +repage *
Вы также можете использовать Python Wand, основанный на ImageMagick.Смотрите обрезку на http://docs.wand -py.org / ru / latest / wand / image.html .Вот код Wand:
#!/bin/python3.7
from wand.image import Image
with Image(filename='0.png') as img:
img.trim(fuzz=0.3*img.quantum_range)
img.save(filename='0_wand_trim.png')
Вы также можете сделать вызов подпроцесса из Python в ImageMagick, если вы хотите сделать это таким образом.
#!/opt/local/bin/python3.7
import subprocess
cmd = 'convert 0.png -fuzz 30% -trim +repage -trim +repage 0_trim.png'
subprocess.check_output(cmd, shell=True, universal_newlines=True)
Возможно, вам потребуется указать путь для преобразования, если он отсутствует в переменной среды PATH.