这是原始截图,我将图像裁剪成4部分,并尽可能地清除图像的背景,但tesseract只检测到最后一列,忽略其余部分。
从tesseract的输出显示,因为它是有空白的地方,我删除,而处理结果
Femme—Fatale.
DaRkLoRdEIa
aChineseN1gg4
Noob_Diablo_
从tesseract的输出显示,因为它是有空白的地方,我删除,而处理结果
Kicked.
NosNoel
ChikiZD
Death_Eag|e_42
Chai—.
3579 10 1 7 148
2962 3 O 7 101
2214 2 2 7 99
2205 1 3 6 78
8212
7198
6307
5640
4884
15
40
40
6O
80
80
我只是在倾销
result = `pytesseract.image_to_string(Image.open("D:/newapproach/B&W"+str(i)+".jpg"),lang="New_Language")`
但我不知道如何从这里进行,以获得一致的结果.无论如何,我可以强制tesseract识别文本区域,并使其扫描.因为在教练(SunnyPage),tesseract默认识别扫描它无法识别某些区域,但一旦我选择手动一切都被检测到并正确翻译为文本
5条答案
按热度按时间zphenhs41#
尝试使用命令行,它为我们提供了决定使用哪个psm值的选项。
你能试试这个吗:
尝试与您提供的图像和下面是结果:
Extracted Text Out of Image
我面临的唯一问题是,我的超正方体字典正在将您的图像中提供的“1”解释为“I”。
下面是可用的psm选项列表:
pagesegmode值为:0 =仅方向和脚本检测(OSD)。
1 =使用OSD自动分页。
2 =自动页面分割,但无OSD或OCR
3 =全自动页面分割,但无OSD。(默认)
4 =假设一列可变大小的文本。
5 =假设一个单一的垂直对齐文本块。
6 =假设单个统一的文本块。
7 =将图像视为单个文本行。
8 =将图像视为单个单词。
9 =将图像视为圆圈中的单个单词。
10 =将图像视为单个字符。
pbossiut2#
我用这个链接
https://www.howtoforge.com/tutorial/tesseract-ocr-installation-and-usage-on-ubuntu-16-04/
只需使用下面的命令,可以提高准确率高达50%
它只会显示粗体字母
谢谢
q3qa4bjr3#
我的建议是在完整的图像上执行OCR。
我已经对图像进行了预处理,以获得灰度图像。
我已经运行了从终端的图像上的tesseract和准确性似乎也超过90%,在这种情况下。
下面是一些建议-
1.不要直接使用image_to_string方法,因为它会将图像转换为bmp并以72 dpi保存。
1.如果你想使用image_to_string,那么覆盖它以保存300 dpi的图像。
1.可以使用run_tesseract方法,然后读取输出文件。
我运行OCR的图像。
解决这个问题的另一种方法是将数字裁剪并深入到神经网络进行预测。
mwecs4sa4#
我认为你必须先对图像进行预处理,对我有效的更改是:假设
img.resize(img.size[0]*2,img.size[1]*2)
img.convert('LA')
image =<$b.gimp_file_load(file,file)layer =<$b.gimp_image_get_active_layer(image)REPLACE= 2 <$b.gimp_by_color_select(layer,"#000000”,20,REPLACE,0,0,0,0)<$b.gimp_context_set_forwarding((0,0,0))<$b.gimp_edit_fill(layer,0)<$b.gimp_context_set_forwarding((255,255,255))<$b.gimp_edit_fill(layer,0)
pdb.gimp_selection_invert(image)pdb.gimp_context_set_foreground((0,0,0))
7d7tgy0s5#