0

(这是我试图提取文本的去噪图像)我正在尝试在 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)

先感谢您!

4

1 回答 1

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ınuzoperaîö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:添加了示例图像,字符之间有更多空间

于 2017-11-06T15:39:43.017 回答