From 762a5e258a90387922d6c6eb3ecc9a7ca7c96144 Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Fri, 16 Nov 2018 18:53:49 +0000
Subject: [PATCH] refactored and debugged.

---
 Ocr.py |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/Ocr.py b/Ocr.py
index 0da4497..970fb70 100644
--- a/Ocr.py
+++ b/Ocr.py
@@ -1,17 +1,19 @@
 from pyzbar.pyzbar import decode
-from sid_process import enhanceSID
+from sid_process import getSID
 import cv2
 import numpy as np
 import math
 
 
 class Paper:
-    def __init__(self, filename=None):
+    def __init__(self, filename=None, sid_classifier=None, settings=None):
         self.filename = filename
         self.invalid = None
         self.QRData = None
+        self.settings = settings
         self.errors = []
         self.warnings = []
+        self.sid_classifier = sid_classifier
         if filename is not None:
             self.loadImage(filename)
             self.runOcr()
@@ -137,8 +139,8 @@
             loc_filtered_x, loc_filtered_y = zip(
                 *sorted(zip(loc_filtered_x, loc_filtered_y))
             )
-        # loc=[loc_filtered_y,loc_filtered_x]
-        # remove duplicates
+            # loc=[loc_filtered_y,loc_filtered_x]
+            # remove duplicates
             a = np.diff(loc_filtered_x) > 40
             a = np.append(a, True)
             loc_filtered_x = np.array(loc_filtered_x)
@@ -213,5 +215,16 @@
             self.answerMatrix.append(oneline)
 
     def get_enhanced_sid(self):
-        es= enhanceSID(self.img[int(0.04*self.imgHeight):int(0.08*self.imgHeight), int(0.7*self.imgWidth):int(0.99*self.imgWidth)])
-        cv2.imwrite("enhancedSID.png",es)
\ No newline at end of file
+        if self.sid_classifier is None:
+            return "x"
+        if self.settings is not None:
+            sid_mask=self.settings.get("sid_mask", None)
+        es = getSID(
+            self.img[
+                int(0.045 * self.imgHeight) : int(0.085 * self.imgHeight),
+                int(0.7 * self.imgWidth) : int(0.99 * self.imgWidth),
+            ],
+            self.sid_classifier,
+            sid_mask
+        )
+        return es

--
Gitblit v1.9.3