From 5460bf601a854c842342a740df0f6d36ad785bbc Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Wed, 21 Nov 2018 21:12:48 +0000
Subject: [PATCH] Some extra editing
---
aoi_ocr/__pycache__/Ocr.cpython-36.pyc | 0
aoiOcr.py | 47 ++++++++++++-----------
aoi_ocr/__pycache__/sid_process.cpython-36.pyc | 0
aoi_ocr/sid_process.py | 17 ++++----
.idea/sonarIssues.xml | 35 +++++++++++++++++
5 files changed, 69 insertions(+), 30 deletions(-)
diff --git a/.idea/sonarIssues.xml b/.idea/sonarIssues.xml
index 58cb300..937f57f 100644
--- a/.idea/sonarIssues.xml
+++ b/.idea/sonarIssues.xml
@@ -18,7 +18,32 @@
<set />
</value>
</entry>
+ <entry key="$USER_HOME$/PycharmProjects/berki-parse/aoi_gen/Problem.py">
+ <value>
+ <set />
+ </value>
+ </entry>
+ <entry key="$USER_HOME$/PycharmProjects/berki-parse/aoi_gen/Variable.py">
+ <value>
+ <set />
+ </value>
+ </entry>
+ <entry key="$USER_HOME$/PycharmProjects/berki-parse/testcases/dvovod3.txt">
+ <value>
+ <set />
+ </value>
+ </entry>
+ <entry key="$USER_HOME$/PycharmProjects/berki-parse/testcases/silaCurka1.txt">
+ <value>
+ <set />
+ </value>
+ </entry>
<entry key="$PROJECT_DIR$/../../django/sizif-web/aoi/MainDocker/Dockerfile">
+ <value>
+ <set />
+ </value>
+ </entry>
+ <entry key="$PROJECT_DIR$/../../django/sizif-web/aoi/README.md">
<value>
<set />
</value>
@@ -38,6 +63,16 @@
<set />
</value>
</entry>
+ <entry key="$PROJECT_DIR$/../../django/sizif-web/aoi/exam/templates/exam/exam_detail.html">
+ <value>
+ <set />
+ </value>
+ </entry>
+ <entry key="$PROJECT_DIR$/../../django/sizif-web/aoi/exam/templates/exam/exam_new.html">
+ <value>
+ <set />
+ </value>
+ </entry>
<entry key="$PROJECT_DIR$/../../django/sizif-web/aoi/exam/templates/exam/postprocess.html">
<value>
<set />
diff --git a/aoiOcr.py b/aoiOcr.py
index eff067f..2986f9a 100644
--- a/aoiOcr.py
+++ b/aoiOcr.py
@@ -1,19 +1,20 @@
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)
+
+path = "/filename.joblib" # always use slash
+filepath = pkg_resources.resource_filename("aoi_ocr", path)
from glob import glob
settings = {"sid_mask": "11x0xxxx", "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)
+# 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",
@@ -24,16 +25,16 @@
"processed_scans/20141028095553745_0018.tif",
"processed_scans/20151013180545275_0011.tif",
"processed_scans/20160408140801098_0004.tif",
- "processed_scans/20160510075445995_0026.tif"
+ "processed_scans/20160510075445995_0026.tif",
]
-#p=Paper(filename=pa[9], sid_classifier=classifier, settings=settings)
-p=Paper(filename='test3.tif', sid_classifier=classifier, settings=settings)
+# p=Paper(filename=pa[9], sid_classifier=classifier, settings=settings)
+p = Paper(filename="test3.tif", sid_classifier=classifier, settings=settings)
# print(p.QRData)
# print(p.errors)
# print(p.getSkewAngle())
-# print(p.locateUpMarkers())
+# print(p.locateUpMarkers())%%
# print(p.locateRightMarkers())
# print(p.answerMatrix)
# p.get_enhanced_sid()
@@ -43,17 +44,19 @@
exit(0)
filelist = glob("processed_scans/*.tif")
-wrong_sid=0;
-total=0
+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))
+ 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))
+print("Total:{}, wrong SID: {}".format(total, wrong_sid))
diff --git a/aoi_ocr/__pycache__/Ocr.cpython-36.pyc b/aoi_ocr/__pycache__/Ocr.cpython-36.pyc
index f8fb55b..6280498 100644
--- a/aoi_ocr/__pycache__/Ocr.cpython-36.pyc
+++ b/aoi_ocr/__pycache__/Ocr.cpython-36.pyc
Binary files differ
diff --git a/aoi_ocr/__pycache__/sid_process.cpython-36.pyc b/aoi_ocr/__pycache__/sid_process.cpython-36.pyc
index 9b04616..ecbcc1c 100644
--- a/aoi_ocr/__pycache__/sid_process.cpython-36.pyc
+++ b/aoi_ocr/__pycache__/sid_process.cpython-36.pyc
Binary files differ
diff --git a/aoi_ocr/sid_process.py b/aoi_ocr/sid_process.py
index d8798f1..dac85e4 100644
--- a/aoi_ocr/sid_process.py
+++ b/aoi_ocr/sid_process.py
@@ -4,7 +4,7 @@
import pkg_resources
-templatefile = '/template-8.png' # always use slash
+templatefile = "/template-8.png" # always use slash
template8 = pkg_resources.resource_filename(__name__, templatefile)
@@ -15,14 +15,14 @@
return np.ones((x, y), np.uint8)
-def find_biggest_blob(image, original_image,sid_mask):
+def find_biggest_blob(image, original_image, sid_mask):
if sid_mask[0] == "1":
move_left = 35
elif sid_mask[0] == "x":
move_left = 40
else:
move_left = 0
- # Remove noise
+ # Remove noise
image2 = cv2.morphologyEx(
original_image, cv2.MORPH_OPEN, kernel(2, 2), iterations=3
)
@@ -40,6 +40,7 @@
image = image[y : y + h, x + 25 - move_left : x + w - 40] # +25,-25
return image
+
def sid_compare(sid_no, sid_mask):
"""
Function compares student id number with student id mask if the recognised number is valid according to the mask
@@ -53,7 +54,7 @@
return True
-def segment_by_contours(image, original_image, classifier,sid_mask):
+def segment_by_contours(image, original_image, classifier, sid_mask):
"""
First algorithm. it segments numerals with contours. It works with numbers where individual numerals does not touch.
:param image:
@@ -63,8 +64,8 @@
"""
sid_no = ""
- image=find_biggest_blob(image,original_image,sid_mask)
- cv2.imwrite("/tmp/sid_contour1.png",image)
+ image = find_biggest_blob(image, original_image, sid_mask)
+ cv2.imwrite("/tmp/sid_contour1.png", image)
im2, ctrs, hier = cv2.findContours(
image.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE
)
@@ -100,7 +101,7 @@
"""
sid_no = ""
sid_len = len(sid_mask)
- image=find_biggest_blob(image,original_image,sid_mask)
+ image = find_biggest_blob(image, original_image, sid_mask)
cv2.imwrite("/tmp/sidblock2.png", image)
imgHeight, imgWidth = image.shape[0:2]
numWidth = int(imgWidth / (sid_len))
@@ -190,7 +191,7 @@
cv2.imwrite("/tmp/enSID0.png", image)
# Remove noise
- #image = cv2.morphologyEx(image, cv2.MORPH_OPEN, kernel(2, 2), iterations=3)
+ # image = cv2.morphologyEx(image, cv2.MORPH_OPEN, kernel(2, 2), iterations=3)
# Closing. Connect non connected parts
image = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel(5, 1), iterations=4)
--
Gitblit v1.8.0