我可以自动旋转主要包含文本的图像吗?也许通过 OCR?算法或其他方法需要扫描图像并决定是否要将其旋转 90°、180° 或 270°
我想将此功能包含到现有的 PowerShell 脚本中,因此命令行功能是必需的。
我愿意接受 ImageMagick 解决方案
例子
我已经阅读了以下 SO 问题。但是它们会旋转照片。
而我只是尝试旋转没有 EXIF 元数据的纯文本扫描。
答案1
答案2
我也在寻找一种自动旋转文档的方法。阅读@teikjoon的回答,并使用以下脚本编写了以下脚本立方体和图像魔术师。
# orient_images '/b'
function orient_images() {
for file in $1;
do magick mogrify -rotate -$(tesseract $file - --psm 0 | sed -n 's/Rotate: \(.*\)/\1/p') $file;
done;
}
这可行,但现在面临另一个问题,即 Tesseract 对文本方向的置信度得分较低,因此我正在研究类似的工具Fred 的文本清理器脚本。
答案3
你可以通过以下方式实现ocrmypdf:
ocrmypdf --rotate-pages myfile.pdf myfile.pdf
答案4
这不是最优雅的方法,但你可以尝试在所有四个方向上进行 OCR,其中乱码最少的那个就是正确的。我快速搜索了一下,找到了一些讨论使用这种技术的参考资料,例如:
文档校正的第二阶段是上下文自动旋转。使用在多个方向上读取的整页 OCR,软件可以确定在哪个方向上读取的质量最好。这是旋转文档的最准确方法。只有文本很少或文本处于各种角度的文档才有风险。在这些情况下,软件会选择最易读的文本的方向。