如何将命令 imagemagick 转换为 php 代码?

Posted

技术标签:

【中文标题】如何将命令 imagemagick 转换为 php 代码?【英文标题】:How to convert command imagemagick to php code? 【发布时间】:2019-08-27 17:57:34 【问题描述】:

我想使用 OCR。但是图像无法完美读取,所以我正在将图像转换为删除噪声背景,Original Images。

然后,我运行这个命令:

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

Images Result

问题是,如何将上面的命令转换成php? 好吧,我很困惑在 php 中使用 imagick

我的代码(这是我所知道的):

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

来自 PHP Imagick 的结果:HERE

我知道,这是不同的配置号,但结果不远。

有什么建议吗?

==== answare(谢谢fmw42)

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

【问题讨论】:

你试过什么?请使用 Imagick 编码发布您的尝试,以便更正。或者,只需将命令行放在 PHP exec() 中并以这种方式运行。对于 Imagick,请参阅 php.net/manual/en/book.imagick.php 或 Google 获取示例。 我确实阅读了 php 文档,但它看起来不像命令。我的代码:$image = new Imagick('captcha.png'); $image->modulateImage(450, 0, 500); $image->writeImage("output.jpeg"); 最好将您的代码添加到您的原始帖子中。抱歉,我不是 Imagick 专家。请注意,您的 modulateImage 参数与 ImageMagick 命令行中的参数不同。您的 Imagick 代码将转换为灰度,因为饱和度为 0,但它也会改变亮度和颜色。请澄清这一点,或者你想用你的 Imagick 代码做什么。 imagemagick 代码似乎只是在调整亮度。请清楚地解释您要达到的目标。如果您发布要清理的输入图像的链接,那么也许我们可以建议更好的技术。 我的错,对不起。我一直在编辑带有图像示例和结果的第一页。 只是阈值您的图像。在 ImageMagick convert img.png -threshold 0% x.png。根据需要将 0% 更改为其他值。在 Imagick 中,请参阅 php.net/manual/en/imagick.thresholdimage.php。值在 ImageMagick 版本的量程范围内(Q16 默认为 0 到 65535)而不是百分比。 【参考方案1】:

要在 ImageMagick 中删除黑色边框和阈值,请执行

输入:

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

因为 8 和 7 触摸,如果 OCR 有效,我会感到惊讶。

对于 Imagick,请参阅

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

【讨论】:

谢谢,它在 OCR 上运行良好,有以下建议 有什么建议? 来自你给我的php源码。

以上是关于如何将命令 imagemagick 转换为 php 代码?的主要内容,如果未能解决你的问题,请参考以下文章

将 ImageMagick 命令转换为 GraphicsMagick

使用 PHP 和 ImageMagick 将 PDF 转换为高质量的 JPG

在 ImageMagick 命令行中将 RGB 转换为灰度

ImageMagick 命令行:将 PDF 转换为高清图像

将PDF转换为图像时,ImageMagick会更改颜色

Right ImageMagick 通过 php 从 yr.no 将 svg 转换为 png