【问题标题】:Tesseract not seeing the image density of a file created in RmagickTesseract 看不到在 Rmagick 中创建的文件的图像密度
【发布时间】:2017-06-23 07:56:58
【问题描述】:

我正在尝试将 Rmagick 和 Tesseract 用于 OCR。我在这里创建一个带有一些文本的简单图像文件:

    canvas = Magick::ImageList.new
    canvas.new_image(300, 300) { self.density = "500" }

    text = Magick::Draw.new
    text.annotate(canvas, 0,0,2,2, 'some_text') {
      self.font = font_path
      self.gravity = Magick::CenterGravity
      self.pointsize = 100
      self.density = '300'
    }

    canvas.write('tmp_text_img.png')

我尝试在这里用一个 shell 脚本来阅读它:

`tesseract #{input} tmp_text_from_img`

但是,Tesseract 不断给我一个警告:

警告。无效的分辨率 0 dpi。改为使用 70。

这会导致非常糟糕的准确性。我觉得很奇怪,因为我在创建图像时明确设置了两次。有什么我做错了吗?或者有没有办法强制 tesseract 使用正确的 dpi?

谢谢大家!

【问题讨论】:

  • 您必须指定密度的单位,即每英寸的像素数以及密度本身。

标签: ruby imagemagick ocr tesseract rmagick


【解决方案1】:

解决了:

canvas.write('tmp_text_img.png') {self.units= Magick::PixelsPerInchResolution; self.density = "300"}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多