Ich versuche Rmagick und Tesseract für OCR zu verwenden. Ich erstelle eine einfache Bilddatei mit einem Text hier:Tesseract sieht die Bilddichte einer in Rmagick erstellten Datei nicht
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')
Und ich versuche es mit einem Shell-Skript hier zu lesen:
`tesseract #{input} tmp_text_from_img`
jedoch Tesseract hält mir eine Warnung zu geben:
Warnung. Ungültige Auflösung 0 dpi. Verwenden Sie stattdessen 70.
Dies führt zu wirklich beschissener Genauigkeit. Was ich komisch finde, weil ich es beim Erstellen des Bildes explizit zweimal gesetzt habe. Gibt es etwas, was ich falsch mache? Oder gibt es eine Möglichkeit, Tesseract zu zwingen, die richtige dpi zu verwenden?
Vielen Dank!
Sie die * Einheiten angeben * der Dichte, d.h. Pixel pro sowie der Dichte selbst Inch. –