Как преобразовать команду imagemagick в код php? - PullRequest
0 голосов
/ 05 апреля 2019

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

тогда я запускаю эту команду:

convert -colorspace gray -modulate 120 -contrast-stretch 10%x80% -modulate 140 -gaussian-blur 1 -contrast-stretch 5%x50% +repage -negate -gaussian-blur 4 -negate -modulate 130 original.jpeg clean.jpeg

Изображения Результат

Проблема в том, как преобразовать указанную выше команду в php? Ну, я очень запутался, используя imagick в php.

мой код (это то, что я знаю):

$image = new Imagick('captcha.png'); 
$image->modulateImage(450, 0, 500);
$image->writeImage("output.jpg"); 

Результат от PHP Imagick: ЗДЕСЬ

Я знаю, это другой номер конфигурации, но результат не далеко.

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

==== answare (спасибо fmw42 )

$image = new Imagick('captcha.png');
$image->thresholdimage(0.1 * \Imagick::getQuantum(), 134217727); 
$image->shaveImage(2, 1);
$image->writeImage("output.jpg"); 

1 Ответ

1 голос
/ 06 апреля 2019

Чтобы удалить черную рамку и пороговое изображение в ImageMagick, выполните

Ввод:

enter image description here

convert img.png -shave 1x1 -threshold 0 result.png


enter image description here

Поскольку касание 8 и 7, я был бы удивлен, если бы OCR работал.

Для Imagick см.

https://www.php.net/manual/en/imagick.thresholdimage.php https://www.php.net/manual/en/imagick.shaveimage.php

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