Автообрезка детали внутри блока переменного размера на изображениях

398
irri

У меня есть много отсканированных изображений, в которых я хочу автоматически обрезать область внутри самого большого прямоугольника или прямоугольника. Это изображение показывает несколько примеров. Последний - то, что я хотел бы, чтобы вывод был похож.
enter image description here

Поскольку входные изображения будут различаться по размеру и размеру, а также по количеству общих прямоугольников и тому, как они расположены, я подумал, что одним из подходов будет использование какого-либо обнаружения линий. С помощью этой информации мы можем обнаружить самый большой прямоугольник на изображении и использовать его как прямоугольник обрезки. Следующий шаг будет просто использовать imagemagickс -trimопцией я думаю.

Это правильный подход, и если да, то как я могу его реализовать?

Если нет, то какие другие методы хороши?

0

1 ответ на вопрос

0
irri

Я на самом деле нашел решение для этого самостоятельно. На веб-странице Fred's ImageMagick Script у него есть скрипт Innercrop . Я получаю хороший результат, используя его так:

#!/bin/bash for f in $(ls *.jpeg); do  ./innercrop -m crop -o white -p 1 -f 10% $ tmp_$ convert -bordercolor black -shave 5x5 -fuzz 30% -trim tmp_$ -quality 100 +repage result_$ rm tmp_$ done 
Я предполагаю, что это скрипт bash? jiggunjer 8 лет назад 0

Похожие вопросы