yeswanthvarma commited on
Commit
1471ff9
Β·
verified Β·
1 Parent(s): 1a1c667

Update utils/image_processor.py

Browse files
Files changed (1) hide show
  1. utils/image_processor.py +11 -22
utils/image_processor.py CHANGED
@@ -30,32 +30,21 @@ def preprocess_image(image):
30
 
31
  def extract_text_from_image(image_path):
32
  """
33
- Extract text using TrOCR from a handwritten image
34
  """
35
  try:
36
- if not trocr_available:
37
- raise ValueError("TrOCR is not available.")
38
 
39
- print(f"πŸ“‚ Reading image from: {image_path}")
 
40
 
41
- # Read and preprocess image
42
- image = cv2.imread(image_path)
43
- if image is None:
44
- raise ValueError(f"Could not load image: {image_path}")
45
 
46
- processed_image = preprocess_image(image)
47
- pil_image = Image.fromarray(processed_image).convert("RGB")
48
-
49
- # TrOCR expects pixel values between 0-1
50
- pixel_values = processor(images=pil_image, return_tensors="pt").pixel_values
51
-
52
- # Disable gradient for inference
53
- with torch.no_grad():
54
- generated_ids = model.generate(pixel_values)
55
- generated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
56
-
57
- return generated_text.strip() or "Text extraction failed. Please enter text manually."
58
 
 
 
59
  except Exception as e:
60
- print(f"OCR failed: {e}")
61
- return "Text extraction failed. Please enter text manually."
 
30
 
31
  def extract_text_from_image(image_path):
32
  """
33
+ Extract handwritten text from an image using TrOCR
34
  """
35
  try:
36
+ print(f"πŸ“‚ Reading image from: {image_path}") # βœ… log file path
 
37
 
38
+ image = Image.open(image_path).convert("RGB")
39
+ pixel_values = processor(images=image, return_tensors="pt").pixel_values
40
 
41
+ generated_ids = trocr_model.generate(pixel_values)
42
+ text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0].strip()
 
 
43
 
44
+ print(f"πŸ“ Extracted Text from {os.path.basename(image_path)}: {text}") # βœ… PRINT EXTRACTED TEXT
 
 
 
 
 
 
 
 
 
 
 
45
 
46
+ return text or "Text extraction failed."
47
+
48
  except Exception as e:
49
+ print(f"❌ OCR failed on {image_path}: {str(e)}")
50
+ return "Text extraction failed."