saiful-ai-dev commited on
Commit
a584720
·
verified ·
1 Parent(s): 034b77b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -13
app.py CHANGED
@@ -1,29 +1,39 @@
1
  import gradio as gr
2
- import easyocr
3
  import numpy as np
4
 
5
- # Reader টাকে একবার লোড করে রাখা (Bangla & English)
6
- reader = easyocr.Reader(['bn', 'en'])
 
 
7
 
8
  def text_extraction(image):
9
  if image is None:
10
  return "দয়া করে একটি ছবি আপলোড করুন।"
11
 
12
- # EasyOCR দিয়ে টেক্সট রিড করা
13
- results = reader.readtext(image, detail=0)
 
14
 
15
- # সবগুলো টেক্সটকে একসাথে জোড়া লাগানো
16
- full_text = " ".join(results)
17
- return full_text if full_text else "ছবিতে কোনো লেখা খুঁজে পাওয়া যায়নি।"
 
 
 
 
 
 
 
18
 
19
  # Gradio ইন্টারফেস তৈরি
20
  demo = gr.Interface(
21
  fn=text_extraction,
22
- inputs=gr.Image(),
23
  outputs="text",
24
- title="Education AI OCR",
25
- description="আপনার বইয়ের পাতার ছবি আপলোড করুন, এটি লেখাগুলো বের করে দেবে।"
26
  )
27
 
28
- # সার্ভার চালু করা
29
- demo.launch()
 
1
  import gradio as gr
2
+ from paddleocr import PaddleOCR
3
  import numpy as np
4
 
5
+ # Reader টাকে একবার লোড করে রাখা (Bangla + English)
6
+ # use_angle_cls=True rotated text ভালো handle করে
7
+ # lang='bn' for Bengali, অথবা 'en'/'multilingual' চাইলে change করো
8
+ ocr = PaddleOCR(use_angle_cls=True, lang='bn') # 'bn' for Bangla support
9
 
10
  def text_extraction(image):
11
  if image is None:
12
  return "দয়া করে একটি ছবি আপলোড করুন।"
13
 
14
+ # PaddleOCR দিয়ে টেক্সট রিড করা
15
+ # result হলো list of [ [bbox], (text, confidence) ]
16
+ results = ocr.ocr(image, cls=True)
17
 
18
+ # শুধু text extract করা (detail=0 এর মতো)
19
+ extracted_texts = []
20
+ for line in results[0] if results else []: # results[0] because batch=1
21
+ text = line[1][0] # text is at index 0 in tuple (text, score)
22
+ extracted_texts.append(text)
23
+
24
+ # সব টেক্সট জোড়া লাগানো (space দিয়ে, অথবা \n দিয়ে paragraph style চাইলে change করো)
25
+ full_text = " ".join(extracted_texts)
26
+
27
+ return full_text.strip() if full_text else "ছবিতে কোনো লেখা খুঁজে পাওয়া যায়নি।"
28
 
29
  # Gradio ইন্টারফেস তৈরি
30
  demo = gr.Interface(
31
  fn=text_extraction,
32
+ inputs=gr.Image(type="numpy"), # numpy array হিসেবে নেয়া ভালো Paddle-এর জন্য
33
  outputs="text",
34
+ title="Education AI OCR (PaddleOCR Powered)",
35
+ description="আপনার বইয়ের পাতার ছবি আপলোড করুন। PaddleOCR দিয়ে লেখা বের করে দেবে (Bangla + English ভালো সাপোর্ট করে)।"
36
  )
37
 
38
+ # সার্ভার চালু করা (Hugging Face Spaces-এ share=True দরকার নেই, auto handle করে)
39
+ demo.launch()