Я начал писать простой скрипт для чтения данных с изображения. Вот мой рубин код, который использует RTesseract прочитать его:Tesseract не читает определенные номера
require 'rtesseract'
require 'mini_magick'
RTesseract.configure do |config|
config.processor = "mini_magick"
end
image = RTesseract.new("myImage.jpg")
puts image.to_s
Я начал с этим изображением:
Результаты, вернувшиеся были: 132B 4
.
Я понимаю, что 0 вернулся как B (я могу это решить). Но следующие 3
, 0
, 8
не вернулся вообще. Теперь я знаю, что он уже знает, как читать 3 и 0, потому что он сделал это в первом номере. Я полагаю, что у него были некоторые проблемы с отображением следующих чисел, поэтому я сделал его черно-белым.
Это второе изображение, которое я пробовал:
Однако результаты все еще вернулись как: 132B 4
.
Наконец я разрезал изображение и попробовал последние 3 номера.
Вот изображение:
Но когда я запустил скрипт, он не дал никакого результата. Любые мысли о том, почему я не могу прочитать окончательные номера?
Я использую Ruby 2.2.2, rTesseract 2.1.0 и MiniMagick 4.5.1.
Я использую Tesseract 3.04.01
Поверните изображение в черный текст на белом и удалите артефакты сжатия изображения, предложение la @ eric-duminil. Анекдотически, для последовательного и известного шрифта, у меня была лучшая точность, просто выполняющая наивные сопоставления пикселей и символов для каждого персонажа. – Kache
@Kache: Звучит интересно. У вас есть связь? –
@ EricDuminil ах, у меня нет ссылки. Это был очень наивный метод: 1. изменить и разрезать текст на нормализованные символы «черный на белом». 2. datamine все возможные изображения и вариации персонажей, которые могут отображаться для шрифта, 3. выберите символ с наименьшими пиксельно-пиксельными различиями , используя некоторые трюки, чтобы не требовать подсчета каждого пикселя каждого символа (например, высота/ширина пикселя персонажа, число черно-белых пикселей и т. д.) – Kache