Commit 7ab18e7b authored by Sikhin VC's avatar Sikhin VC

bug fix

parent 77e97d5a
Pipeline #49724 canceled with stage
# mahindra_and_mahindra_text_recognition
...@@ -22,5 +22,5 @@ class ModelWrapper(ABC): ...@@ -22,5 +22,5 @@ class ModelWrapper(ABC):
def predict(self, x): def predict(self, x):
pre_x = self._pre_process(x) pre_x = self._pre_process(x)
prediction = self._predict(pre_x) prediction = self._predict(pre_x)
result = self._post_process(prediction) # result = self._post_process(prediction)
return result # return result
...@@ -94,8 +94,8 @@ class CementBagCounter(ModelWrapper): ...@@ -94,8 +94,8 @@ class CementBagCounter(ModelWrapper):
self.fixed_and_internal_engine = ["2", "K", "C", "A"] self.fixed_and_internal_engine = ["2", "K", "C", "A"]
self.month_engine = ["K","L","M","A","B","C","D","E","F","G","H","J"] self.month_engine = ["K","L","M","A","B","C","D","E","F","G","H","J"]
self.month_front_axle_bar = ["A","B","C","D","E","F","G","H","I","J","K","L","M"] self.month_front_axle_bar = ["A","B","C","D","E","F","G","H","I","J","K","L","M"]
self.text_json = {"data":{"text":" ", "fixed characters":" ", "internal characters": " ", "year": " ", "month": " ", "plant": " ", "serial number": " "}, "status": False, "message": " "} self.text_json = {"data":{"text":" ", "fixed characters":" ", "internal characters": " ", "year": " ", "month": " ", "plant": " ", "serial number": " "}, "status": False, "message": "Image not clear"}
self.digit_list = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
self.initial_object_position = None self.initial_object_position = None
self.uncounted_objects = ExpiringDict( self.uncounted_objects = ExpiringDict(
...@@ -232,10 +232,10 @@ class CementBagCounter(ModelWrapper): ...@@ -232,10 +232,10 @@ class CementBagCounter(ModelWrapper):
# print(sub_list) # print(sub_list)
matching_chars = [i for i, j in zip(sub_list, self.internal_engine) if i == j] matching_chars = [i for i, j in zip(sub_list, self.internal_engine) if i == j]
# print(matching_chars) # print(matching_chars)
if (len(matching_chars) < 3): if (len(matching_chars) > 0):
return False, None # print("1234567890!@#$%^&*()")
return True, None return True, None
return False, None
def plant_ver(self, text_list, part_name): def plant_ver(self, text_list, part_name):
if (part_name == "front_axle_bar"): if (part_name == "front_axle_bar"):
...@@ -334,8 +334,13 @@ class CementBagCounter(ModelWrapper): ...@@ -334,8 +334,13 @@ class CementBagCounter(ModelWrapper):
actual_text.append("R") actual_text.append("R")
else: else:
return "Image not clear", False return "Image not clear", False
for elem in corrected_digit:
print("elements are----")
print(elem)
if elem not in self.digit_list:
return "Image not clear", False
actual_text.extend(corrected_digit) actual_text.extend(corrected_digit)
return actual_text, True
else: else:
if (plant_verification): if (plant_verification):
actual_text.append("R") actual_text.append("R")
...@@ -363,10 +368,15 @@ class CementBagCounter(ModelWrapper): ...@@ -363,10 +368,15 @@ class CementBagCounter(ModelWrapper):
for elem in corrected_digit:
print("elements are----")
print(elem)
if elem not in self.digit_list:
return "Image not clear", False
actual_text.extend(corrected_digit) actual_text.extend(corrected_digit)
return actual_text, True return actual_text, True
def _predict(self, obj): def _predict(self, obj):
...@@ -378,6 +388,11 @@ class CementBagCounter(ModelWrapper): ...@@ -378,6 +388,11 @@ class CementBagCounter(ModelWrapper):
part_name =self.check_character(text) part_name =self.check_character(text)
if not part_name: if not part_name:
text="Image not Clear" text="Image not Clear"
self.text_json = {
"data": {"text": " ", "fixed characters": " ", "internal characters": " ", "year": " ",
"month": " ", "plant": " ", "serial number": " "}, "status": False,
"message": "Image not clear"}
pass
else: else:
text_list = [] text_list = []
for letter in text: for letter in text:
...@@ -429,7 +444,9 @@ class CementBagCounter(ModelWrapper): ...@@ -429,7 +444,9 @@ class CementBagCounter(ModelWrapper):
self.text_json["data"]["plant"] = plant self.text_json["data"]["plant"] = plant
self.text_json["data"]["serial number"] = serial_number self.text_json["data"]["serial number"] = serial_number
self.text_json["status"] = True self.text_json["status"] = True
self.text_json["message"] = " "
else: else:
print("engine part---------------------")
year = " " year = " "
month = " " month = " "
# fixed_char = redefined_text[0:3] # fixed_char = redefined_text[0:3]
...@@ -456,10 +473,19 @@ class CementBagCounter(ModelWrapper): ...@@ -456,10 +473,19 @@ class CementBagCounter(ModelWrapper):
self.text_json["data"]["plant"] = plant self.text_json["data"]["plant"] = plant
self.text_json["data"]["serial number"] = serial_number self.text_json["data"]["serial number"] = serial_number
self.text_json["status"] = True self.text_json["status"] = True
self.text_json["message"] = " "
else: else:
self.recognition_output = "Image not clear"
self.text_json["data"]["text"] = self.recognition_output self.text_json["data"]["fixed characters"] = " "
self.text_json["data"]["internal characters"] = " "
self.text_json["data"]["year"] = " "
self.text_json["data"]["month"] = " "
self.text_json["data"]["plant"] = " "
self.text_json["data"]["serial number"] = " "
# self.recognition_output = "Image not clear"
self.text_json["data"]["text"] = " "
self.text_json["status"] = False self.text_json["status"] = False
self.text_json["message"] = "Image is not clear" self.text_json["message"] = "Image is not clear"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment