如何使用ImageMagick校正扫描的文本页面?

时间:2017-01-09 10:44:10

标签: imagemagick-convert

我扫描过没有完全笔直扫描的文档,因此文本没有完全水平定向,即每行可能有10°的斜率。

我的理解是imagemagick中的deskew选项应该解决这个问题,例如

convert skewed_1500.jpeg -deskew 40% skewed_1500_not.jpg

但它对输出文件没有任何明显的影响。

我附加了skewed / skewed_not图像以供比较。

致以最诚挚的问候,

科尔姆

首先是原始图像 skewed image

然后据称是偏斜的图像 deskewed image

3 个答案:

答案 0 :(得分:4)

我会尝试更大的价值,如80%,否则Imagemagick论坛成员有一个可能更好的bash脚本:http://www.fmwconcepts.com/imagemagick/textdeskew/index.php

答案 1 :(得分:1)

官方文档似乎没有解释一个值与另一个值对于阈值的重要性:

API Explorer

答案 2 :(得分:1)

OCRmyPDF

您还可以先让 ImageMagick 将您的 JPG 转换为 PDF (convert input.jpg input.pdf),然后让 OCRmyPDF 纠正 PDF:

ocrmypdf --deskew --tesseract-timeout=0 input.pdf output.pdf

使用您的示例页面,我会说结果文本是直的:

straightened page, after running OCRmyPDF

here 所述,--tesseract-timeout=0 禁用光学字符识别。

当然,您也可以对 PDF 进行纠偏并使其可一次性搜索:

ocrmypdf --deskew -l fra input.pdf output.pdf

确保在运行之前安装了 Tesseract 的法语语言包。 Here 是说明。

裁剪 PDF

要去掉 PDF 底部的黑色部分和底部的白色部分,可以使用 pdfcropTeX Live 的常用部分):

# Remove margins at left, top, right, and bottom
pdfcrop --margins '-60 0 -50 -430' output.pdf cropped_output.pdf

经过裁剪和校正的 PDF:

PDF cropped with pdfcrop