У меня есть изображение счета-фактуры, которое содержит столбцы таблицы, как показано ниже.
Я использую ImageMagick для предварительной обработки изображений с помощью следующей команды.
convert 0.png -type Grayscale -negate -define morphology:compose=darken -morphology Thinning 'Rectangle:1x80+0+0<' -negate 0.png
Моя проблема в том, что вывод с горизонтальными полужирными полосами. ImageMagick не может правильно преобразовать его и вывести, как показано ниже.
Что я могу сделать, чтобы решить эту проблему?
Вот другой способ использования ImageMagick и связанных компонентов. Сначала обрежьте изображение, чтобы удалить внешний белый цвет, затем используйте подключенные компоненты, чтобы получить идентификатор самой большой черной области, который должен быть id = 0. Запустите его снова, удаляя идентификатор самой большой области, делая ее прозрачной и, наконец, выравнивая результат на белом фоне. Затем добавьте операцию прореживания, чтобы удалить не полностью черные горизонтальные линии. См. https://imagemagick.org/script/connected-components.php
convert image.png -fuzz 5% -trim +repage \
-bordercolor black -border 1 \
-define connected-components:verbose=true \
-define connected-components:mean-color=true \
-connected-components 4 \
null:
Objects (id: bounding-box centroid area mean-color):
0: 953x205+0+0 478.7,65.6 31513 srgba(0,0,0,1)
10789: 943x19+5+184 488.4,193.1 16885 srgba(255,255,255,1)
1: 465x17+5+1 237.0,9.0 7905 srgba(255,255,255,1)
2: 474x17+474+1 733.5,9.0 7096 srgba(255,255,255,1)
3820: 281x21+667+67 807.0,76.9 5609 srgba(255,255,255,1)
5195: 281x21+667+90 807.0,99.9 5609 srgba(255,255,255,1)
7959: 281x20+667+137 807.0,146.4 5328 srgba(255,255,255,1)
9341: 281x20+667+160 807.0,169.5 5328 srgba(255,255,255,1)
6540: 281x20+667+114 807.0,123.4 5295 srgba(255,255,255,1)
2375: 281x19+667+46 807.0,55.0 5047 srgba(255,255,255,1)
...
convert image.png -fuzz 5% -trim +repage \
-bordercolor black -border 1 \
-define connected-components:remove=0 \
-define connected-components:mean-color=true \
-connected-components 4 \
-background white -flatten \
-negate \
-define morphology:compose=darken \
-morphology Thinning 'Rectangle:1x80+0+0<' \
-negate \
result.png
Какая у вас версия ImageMagick и дата, связанная с ней. По версии он должен быть 6.8.9.10 или выше только для основных подключаемых компонентов. Но определение среднего цвета = истина появилось еще позже. Если в Linux, обратите внимание, что они не всегда обновляют версию при исправлении, поэтому дата исправления более важна. Однако у кого-то еще была аналогичная проблема ранее (думали, что они все потемнели), и казалось, что их дистрибутив Linux не полностью или должным образом исправлял ImageMagick, хотя дата была текущей. Так что человек не мог получить должных результатов.
Попробуйте этот тест, чтобы узнать, есть ли у вас версия, совместимая с подключенными компонентами в ImageMagick. Если это сработает, вы должны получить список, подобный приведенному выше convert image.png -define connected-components:verbose=true -connected-components 4 null:
. Если у вас нет даже списка, значит, у вас нет версии, способной даже к базовой обработке подключенных компонентов.
Я получил этот список: Objects (id: bounding-box centroid area): 1: 951x203+19+0 +496.9,+61.7 29201 12514: 943x19+23+183 +507.8,+192.1 16732 2: 465x17+23+0 +255.0,+8.0 7905 4: 37x203+970+0 +988.0,+101.0 7511 3: 474x17+492+0 +752.4,+7.9 7063
</br> не тот номер, но у меня был список. Version: ImageMagick 6.8.9-9 Q16 x86_64 2018-09-28 http://www.imagemagick.org Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC Features: DPC Modules OpenMP Delegates: bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlib
Ваша версия была вероятной при тестировании основных подключенных компонентов. Но дата - 29.09.18, так что, чтобы она была актуальной, ее нужно было исправить. Думаю, кто-то еще жаловался на то, что он не работает в 6.8.9.9 Ubuntu. Поэтому я думаю, что они, скорее всего, исправляли не обновления, а только проблемы с безопасностью. Вам следует уточнить у них. Кажется, вам не хватает одного или обоих -define connected-components:remove=0
-define connected-components:mean-color=true
, если вы не можете воспроизвести мой результат. Ваш результат не показывает никаких значений цвета, что снова заставляет меня думать, что это версия в разработке.
Спасибо за ваш ответ. Я пробовал, но у меня выводится как белое изображение. ibb.co/jzX0kq