Development of the ocr part of AOI
Samo Penic
2018-11-18 2fec6b84c1ebc8ea0c257185b83266aae9f57639
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
from aoi_ocr.Ocr import Paper
from sklearn.externals import joblib
import pkg_resources
path = '/filename.joblib'  # always use slash
filepath = pkg_resources.resource_filename('aoi_ocr', path)
 
from glob import glob
 
settings = {"sid_mask": "64xx0xxx", "answer_threshold": 0.25}
classifier = joblib.load(filepath)
 
#p = Paper(filename="testpage300dpi_scan1.png")
#p=Paper(filename='sizif111.tif', sid_classifier=classifier, settings={"sid_mask": "11xx0xxx", "answer_threshold": 0.25})
#p=Paper(filename='processed_scans/20141016095134535_0006.tif', sid_classifier=classifier, settings=settings)
#p = Paper(filename="processed_scans/20151111080408825_0001.tif",sid_classifier=classifier,settings=settings,)
#p=Paper(filename='processed_scans/20151028145444607_0028.tif', sid_classifier=classifier, settings=settings)
pa = [
    "processed_scans/20141016095134535_0006.tif",
    "processed_scans/20141016095134535_0028.tif",
    "processed_scans/20141016095134535_0028.tif",
    "processed_scans/20141016095134535_0037.tif",
    "processed_scans/20141021095744144_0005.tif",
    "processed_scans/20141021095744144_0009.tif",
    "processed_scans/20141028095553745_0018.tif",
    "processed_scans/20151013180545275_0011.tif",
    "processed_scans/20160408140801098_0004.tif",
    "processed_scans/20160510075445995_0026.tif"
]
p=Paper(filename=pa[9], sid_classifier=classifier, settings=settings)
 
# print(p.QRData)
# print(p.errors)
 
# print(p.getSkewAngle())
# print(p.locateUpMarkers())
# print(p.locateRightMarkers())
# print(p.answerMatrix)
# p.get_enhanced_sid()
 
 
print(p.get_paper_ocr_data())
 
 
filelist = glob("processed_scans/*.tif")
wrong_sid=0;
total=0
for f in sorted(filelist):
    print("processing: {}".format(f))
    p=Paper(filename=f, sid_classifier=classifier, settings=settings).get_paper_ocr_data()
    print(f,p)
    if(p['page_no']==0):
        total+=1
    if(len(p['errors'])!=0):
        wrong_sid+=1
    if total%10 == 0:
        print("Total:{}, wrong SID: {}".format(total,wrong_sid))
 
print("Total:{}, wrong SID: {}".format(total,wrong_sid))