Development of the ocr part of AOI
Samo Penic
2018-11-18 9a1cd39152191d3339ace70ec33b5010fba87741
aoiOcr.py
@@ -1,12 +1,58 @@
from Ocr import Paper
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()
p=Paper(filename='testpage250dpi1.png')
#p=Paper(filename='sizif111.tif')
print(p.QRData)
print(p.errors)
print(p.get_paper_ocr_data())
print(p.getSkewAngle())
print(p.locateUpMarkers())
print(p.locateRightMarkers())
print(p.answerMatrix)
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))