【问题标题】:Turkish character recognition using Tesseract-OCR and OpenCV使用 Tesseract-OCR 和 OpenCV 进行土耳其语字符识别
【发布时间】:2017-11-06 13:58:06
【问题描述】:

我正在尝试在 Python 中使用 Tesseract-OCR 和 OpenCV 检测图像(jpg 文件)的文本部分。图像的文本部分是土耳其语,因此我使用的是 Tesseract-OCR 文件中的“土耳其语训练数据 (tur)”。在使用 tesseract 之前,我已经应用了膨胀和腐蚀来消除噪音。

问题是,即使可以检测到特定区域的某些字符,但检测大多不成功,无法检测到土耳其语字符。你知道任何方法或者你有什么建议来获得更多的成功吗?以下是我的代码:

import pytesseract
from PIL import Image
import cv2

img= cv2.imread('C:\Users\gulsa\Desktop\Tesseract-OCR\alm98_2.jpg')
img = Image.open('alm98_2.jpg')
pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-
OCR/tesseract'

tex = pytesseract.image_to_string(Image.open('alm98_2.jpg'),lang='tur')
print(tex)

提前谢谢你!

【问题讨论】:

  • 您是否尝试过 tesseract 常见问题解答中“提高质量”部分中列出的内容? (github.com/tesseract-ocr/tesseract/wiki/ImproveQuality)
  • 这取决于图像。文字是手写的吗?图像中有噪点吗?采光好吗?
  • 我已经应用了二值化、膨胀和腐蚀来去除噪音,但结果是一样的。文字不是手写的,是印刷的,清晰易读,黑底白字。
  • 您可以在应用所有预处理(二值化、膨胀等)后发布您的图像吗?另外通过检测,您的意思是 tesseract 不将字符识别为土耳其语(但识别为其他字符)还是根本看不到任何内容?
  • 我已附上我的图片。它可以看到字符,但对于大多数字符,它不能正确检测到它们。它充满了错误。

标签: python-2.7 opencv tesseract python-tesseract text-recognition


【解决方案1】:

这是我在你的图像上使用 tesseract 后得到的结果

HerTürdenErutikyıdeplç'nTıkla!Sımsıkainlemereoyo AnındaCebirıdenIde!Iziemeklçin18YaşındanBüyükoin'ak Zorunludur.HerkamgoridenyüzleroevideoHighDefTvde!High DefTv,abonelik"servistir.Pakelhaîlaliktümvergilerdahilolamk ayda64TLyebtaIedimedig'süreoeherz—ıyyenileneoekîir.Servis ücreti,aboneoldugınuzooperaîöfündüzenleyecegifaîuralar karaliylaveyaönödemelihatlardanTL/Krmikîaridüsülerekîahsil edilecektir.Ipîaliğn:|PTALya24329z-ıgörder.Iptaledilendönem içinücretiadasiyapiin'azXeteriibakiyenizyokayükleme

到目前为止,这似乎不是一个非常糟糕的结果。不是说它很好,但与土耳其字母无关。如果您能够检测并分离此刻彼此太近的字母,您可以获得更好的结果。

例如对于这张图片,我得到了完美的结果(注意更好的字体,字符之间的更多空间)

她的 Türden 色情视频 Için Tıkla!Sımsicak Binlerce Videoyu

如果您收到很多肯定不在土耳其字母表中的嘈杂字母(例如 fl 或 î 符号) - 您可以将其列入黑名单。

如果可以使用任何启发式方法,另一种选择是逐个字符地遍历 tesseract 结果并更正它们。

编辑:TBH 当我尝试阅读您图像上的文字时,我无法将单词与句子分开,也许它是您使用的特定字体,但对于人和机器来说,它肯定看起来太苛刻了。

Edit2:添加了示例图像,字符之间有更多空间

【讨论】:

  • 这实际上太糟糕了,不仅对于土耳其字符,而且对于大多数字符它都失败了。我也会尝试您的建议,非常感谢...
  • 我添加了具有不同字体的示例图像,其中字符之间的空间更大,因此您可以看到输出质量如何提高。
  • 是的,这次的效果非常好。您是否手动在字符之间放置了空格?我正在寻找一种方法来更改图像中文本的字体(即在字符之间放置更多空间)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-11
  • 2015-12-21
  • 1970-01-01
  • 2012-06-28
  • 1970-01-01
  • 2014-08-09
  • 1970-01-01
相关资源
最近更新 更多