Spaces:
Sleeping
Sleeping
import cv2 | |
import easyocr | |
import gradio as gr | |
from main import predict_mcq | |
reader = easyocr.Reader(['th','en']) | |
def ocr_with_easy(image): | |
#gray_scale_image=get_grayscale(img) | |
#thresholding(gray_scale_image) | |
cv2.imwrite('image.png',image) | |
image=cv2.imread('image.png') | |
bounds = reader.readtext(image,paragraph="False",detail = 0) | |
bounds = ''.join(bounds) | |
return bounds | |
def put_in_single_list(data): | |
result=[] | |
final_result=[] | |
for i in data: | |
result.append(i.get("question_statement")) | |
result.append(i.get("answer")) | |
result.append(i.get("options")) | |
final_result.append(result) | |
return final_result | |
def MCQGenerator(image): | |
I_text=ocr_with_easy(image) | |
text={ | |
"input_text":I_text | |
} | |
Mcqs=predict_mcq(text) | |
data=Mcqs.get('questions') | |
print(data) | |
if data is not None: | |
#final_result=put_in_single_list(data) | |
statement="" | |
answer="" | |
options="" | |
for mcq in data: | |
statement+=mcq.get('question_statement')+',' | |
answer+=mcq.get('answer')+',' | |
options+=mcq.get('options')[0]+','+mcq.get('options')[1]+','+mcq.get('options')[2]+',' | |
return statement,answer,options | |
else: | |
return "Null","Null","Null" | |
iface=gr.Interface(fn=MCQGenerator,inputs='image',outputs=[gr.components.Textbox(label="Question"),gr.components.Textbox(label="Answer"),gr.components.Textbox(label="Options")], | |
examples=[['demo.PNG']]) | |
iface.launch(debug=True) |