Sanjayraju30 commited on
Commit
ddf0c54
·
verified ·
1 Parent(s): 2bd70fa

Update ocr_engine.py

Browse files
Files changed (1) hide show
  1. ocr_engine.py +12 -16
ocr_engine.py CHANGED
@@ -5,25 +5,21 @@ from PIL import Image
5
 
6
  def extract_weight_from_image(pil_img):
7
  try:
8
- img = pil_img.convert("L") # grayscale
 
9
  img = np.array(img)
 
10
 
11
- img = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_CUBIC)
12
- blur = cv2.GaussianBlur(img, (5, 5), 0)
13
- thresh = cv2.adaptiveThreshold(
14
- blur, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
15
- cv2.THRESH_BINARY_INV, 11, 2
16
- )
17
 
18
- config = r'--oem 3 --psm 6 -c tessedit_char_whitelist=0123456789.'
19
- text = pytesseract.image_to_string(thresh, config=config)
20
-
21
- print("🔍 OCR RAW OUTPUT:", repr(text))
22
-
23
- weight = ''.join(filter(lambda c: c in '0123456789.', text)).strip()
24
- confidence = 95 if weight else 0
25
- return weight, confidence
26
 
 
 
27
  except Exception as e:
28
- print("OCR Exception:", str(e))
29
  return "", 0
 
5
 
6
  def extract_weight_from_image(pil_img):
7
  try:
8
+ # Convert PIL image to OpenCV
9
+ img = pil_img.convert("RGB")
10
  img = np.array(img)
11
+ img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
12
 
13
+ # Preprocess
14
+ gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
15
+ blur = cv2.GaussianBlur(gray, (3, 3), 0)
 
 
 
16
 
17
+ # OCR
18
+ text = pytesseract.image_to_string(blur, config='--psm 7 digits')
19
+ weight = ''.join(filter(lambda c: c in '0123456789.', text))
 
 
 
 
 
20
 
21
+ confidence = 95 # Replace with real confidence logic if needed
22
+ return weight.strip(), confidence
23
  except Exception as e:
24
+ print(f"OCR error: {e}")
25
  return "", 0