Spaces:
Running
Running
import gradio as gr | |
import ObjCharRec | |
from deep_translator import GoogleTranslator | |
import demo_app | |
import translate_speak | |
langs_list = GoogleTranslator().get_supported_languages() | |
langs_dict = GoogleTranslator().get_supported_languages(as_dict=True) | |
with gr.Blocks() as main_interface: | |
gr.Markdown("# OCR") | |
with gr.Tabs(): | |
with gr.TabItem("Intro"): | |
pass | |
with gr.TabItem("Simple OCR"): | |
gr.Markdown("Paddle OCR") | |
with gr.Row(): | |
with gr.Column(): | |
image_input = gr.Image(label="Upload Image") | |
with gr.Row(): | |
clear_btn = gr.ClearButton() | |
submit_btn = gr.Button("Submit") | |
output_text = gr.Text(label="Output") | |
submit_btn.click(fn=ObjCharRec.ocr_with_paddle, inputs=image_input, outputs=output_text) | |
clear_btn.click(lambda :[None, None], outputs=[image_input, output_text]) | |
with gr.TabItem("translator"): | |
with gr.Row(): | |
with gr.Column(): | |
image_input = gr.Image(label="Upload Image") | |
with gr.Row(): | |
clear_btn = gr.ClearButton() | |
submit_btn = gr.Button("Submit") | |
with gr.Column(): | |
with gr.Row(): | |
output_text = gr.Text(label="Output") | |
audio_out = gr.Audio(label="Streamed Audio") | |
lang_drop = gr.Dropdown(langs_dict, label="language", interactive=True) | |
translate_btn = gr.Button("Translate") | |
with gr.Row(): | |
translated_txt = gr.Text(label="translated text") | |
translated_out = gr.Audio(label="Streamed Audio") | |
submit_btn.click(fn=ObjCharRec.ocr_with_paddle, inputs=image_input, outputs=[output_text, audio_out]) | |
translate_btn.click(fn=translate_speak.translate_txt, inputs=[lang_drop, output_text], outputs=[translated_txt, translated_out]) | |
clear_btn.click(lambda :[None]*5, outputs=[image_input, output_text, translated_txt, translated_out, audio_out]) | |
if __name__ == "__main__": | |
main_interface.launch() | |