Jangai commited on
Commit
6bd6ea4
·
verified ·
1 Parent(s): 4a003ae

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -1
app.py CHANGED
@@ -4,9 +4,15 @@ import matplotlib.pyplot as plt
4
  import tempfile
5
  import os
6
  import logging
 
 
7
 
8
  logging.basicConfig(level=logging.DEBUG)
9
 
 
 
 
 
10
  def display_sketch(sketch):
11
  logging.debug(f"Received sketch data: {sketch}")
12
 
@@ -29,10 +35,23 @@ def display_sketch(sketch):
29
  logging.error(error_message)
30
  return error_message
31
 
 
 
 
 
 
 
 
 
 
 
32
  with gr.Blocks() as demo:
33
  sketchpad = gr.Sketchpad(label="Draw Something")
34
  output_image = gr.Image(label="Your Sketch")
 
35
  submit_btn = gr.Button("Submit")
36
- submit_btn.click(display_sketch, inputs=sketchpad, outputs=output_image)
 
 
37
 
38
  demo.launch()
 
4
  import tempfile
5
  import os
6
  import logging
7
+ from transformers import TrOCRProcessor, VisionEncoderDecoderModel
8
+ from PIL import Image
9
 
10
  logging.basicConfig(level=logging.DEBUG)
11
 
12
+ # Initialize the TrOCR model and processor
13
+ processor = TrOCRProcessor.from_pretrained('microsoft/trocr-large-handwritten')
14
+ model = VisionEncoderDecoderModel.from_pretrained('microsoft/trocr-large-handwritten')
15
+
16
  def display_sketch(sketch):
17
  logging.debug(f"Received sketch data: {sketch}")
18
 
 
35
  logging.error(error_message)
36
  return error_message
37
 
38
+ def recognize_text(image_path):
39
+ # Load the image
40
+ image = Image.open(image_path).convert("RGB")
41
+ # Prepare the image for the model
42
+ pixel_values = processor(image, return_tensors="pt").pixel_values
43
+ # Generate the text
44
+ generated_ids = model.generate(pixel_values)
45
+ generated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
46
+ return generated_text
47
+
48
  with gr.Blocks() as demo:
49
  sketchpad = gr.Sketchpad(label="Draw Something")
50
  output_image = gr.Image(label="Your Sketch")
51
+ recognized_text = gr.Textbox(label="Recognized Text")
52
  submit_btn = gr.Button("Submit")
53
+
54
+ submit_btn.click(fn=display_sketch, inputs=sketchpad, outputs=output_image)
55
+ submit_btn.click(fn=recognize_text, inputs=output_image, outputs=recognized_text)
56
 
57
  demo.launch()