Обнаружить значение x самого правого черного пикселя в монохромном chrome изображении? - PullRequest
3 голосов
/ 21 июня 2020

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

Возможно ли с помощью инструментов сценария оболочки определить значение x крайних правых черных пикселей? Поскольку я уже использую Imagemagick, сможет ли он это сделать самостоятельно? Я планировал сделать этот проект быстрым и грязным, поэтому я хотел бы по возможности избегать использования более тяжелых языков сценариев (perl, python).

enter image description here

введите описание изображения здесь

1 Ответ

4 голосов
/ 21 июня 2020

Попробуйте это, чтобы получить поле обрезки:

magick YOURIMAGE format %@ info:
6x10+1+5

Вы можете прочитать ширину, высоту, смещение по x и смещение по оси bash следующим образом:

IFS='[x+]' read w h x y < <(magick YOURIMAGE -format %@ info:)

Вы можете сложить w и x с помощью:

((right=w+x))

Вы можете, а можете и не захотеть вычесть 1 из приведенного выше ответа.

Я не знаю, что вы на самом деле пытаетесь сделать, но вы, возможно, просто хотите обрезать буквы до их наименьшего ограничивающего прямоугольника:

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