2

我对计算机视觉非常陌生。我有很多这样的图像:

示例图像

我想将整个表格提取为文本。我试图pytesseract从图像中提取文本。我尝试了如下示例代码:

try:
    import Image
except ImportError:
    from PIL import Image
from pytesseract import *

im = Image.open('/home/Downloads/b.png')
text = image_to_string(im, lang='eng')
print text

但结果真的很糟糕。一些样本:

II) Han H31 Precvsva 111
II) Pegalran Corn m
11) Quama camume. m
15) Sansmlg Eledra. KR
II) snaru Corn/Japan 11>
II) 15 msnlay Co 1111 KR
13)]ah1lC1rcuvl Inc us
II) Iaman Semioan... 1w
I1)Japan msulay Inc 11>
I1) Schneider Fleck... 511
II) campal Elec|ram 111
II) 5111-9110 onlme 5. JP
I1) C1500 syaens Inc us
Is) Warned Semic. 111
II) Mvcran Techmla. us
I1) Camnuler Sclenc
I1) Flex Lid us
I111me1 Corn 115

我怎样才能提高效率?我能达到 80-90% 的准确率吗?我所有的图像都是相同的格式。那么我可以提高我的用例的准确性吗?任何建议都会有所帮助。

更新:我尝试使用 OCR.space,但它根本不适用于以下图像:

测试

4

1 回答 1

0

您的图像的主要问题是,它只有 96 dpi(而 OCR 通常期望 300 dpi)。我将您的图像更改为 300 dpi,并使用 Lancosz 算法使用 IrfanView 将其重新采样为 200%。这应该等价于一些convert语句。

通过将此新图像作为 Tesseract 的输入,输出看起来更好:

2?) Hon Hai Precisio...
23) Pegatron Corp

2) Quanta Compute...
25) Samsung Electro...
26) Sharp Corp/Japan
27) LG Display Co Ltd
8) Jabil Circuit Inc
M) Taiwan Semicon...
3) Japan Display Inc
31) Schneider Electr...
3) Compal Electroni...
33) GungHo Online E...
X) Cisco Systems Inc
33) Advanced Semic...
%) Micron Technolo...
3) Computer Scienc...
3) Flex Ltd

3) Intel Corp



TW
TW
TW
LG
JP
LG
US
TW
JP
FR
TW
JP
US
TW
US
US
US
US





1.80%
10.40%
-9.50%

2.72%
-0.57%

5.03%

3.90%

1.38%

1.30%

1.33%
-0.13%
-6.21%

0.31%
-3.63%
-0.20%

1.33%
-1.56%

3.91%



53.67%
60.08%
64.85%

5.97%
27.10%
30.28%
24.00%
16.26%
53.70%

0.92%
14.28%
51.70%

0.73%
39.13%
11.00%

6. 7335
2.61%



5.65B
5.078

1 58B
1.808
1.108
1.028
1.278
70.89M
785.20M
177. 44M
90.56M
925.18M
436.70M
89.24M
411.54M
411.06M



cogs
COGS

COGS
[eels
COGS
[eelcis
COGS
CAPEX
COGS
SG&A
CAPEX
cogs
COGS
SG&A
COGS
[eoles



54.66%
16.33%
14.84%

4. 05%
3.65%
3.30%
3.26%
3.23%
3.00%
2.90%
2.85%
2.28%

1. 503;
1.47%
1.42%
142%



#2015A CF
£2015A CF
#2015A CF
Estimate
#2016A CF
Estimate
#2016A CF
Estimate
#2016A CF
Estimate
Estimate
#2015A CF
Estimate
Estimate
#201701 CF
Estimate
Estimate
Estimate



03/30/2016
03/17/2016
03/31/2016
06/10/2016
06/23/2016
02/24/2017
10/20/2016
05/09/2016
06/21/2016
05/27/2016
10/19/2016
03/22/2016
01/03/2017
02/22/2017
01/09/2017
01/03/2017
01/30/2017
01/03/2017

但是,这里的第三列被完全忽略了,其他一些值也完全丢失了。也许,布局识别有一些问题......

于 2017-03-22T08:08:32.177 回答