Spaces:
Runtime error
Runtime error
| import cv2 | |
| import gradio as gr | |
| from PIL import Image | |
| from diagram_extraction import extract_diagram | |
| from text_extraction import extract_text | |
| from symbol_detection import detect_elements | |
| from comparison import compare_content | |
| def process_and_compare(pdf_image, png_image): | |
| """Main function to extract, compare, and return the differences.""" | |
| # Extract diagrams from both images | |
| diagram1 = extract_diagram(cv2.imread(pdf_image)) | |
| diagram2 = extract_diagram(cv2.imread(png_image)) | |
| # Extract text and elements from both diagrams | |
| text1 = extract_text(diagram1) | |
| text2 = extract_text(diagram2) | |
| elements1 = detect_elements(diagram1) | |
| elements2 = detect_elements(diagram2) | |
| # Compare the extracted content | |
| missing_text, extra_text = compare_content(text1.split(), text2.split()) | |
| missing_elements, extra_elements = compare_content(elements1, elements2) | |
| # Generate the comparison summary | |
| summary = f"Missing Text: {missing_text}\nExtra Text: {extra_text}\n" \ | |
| f"Missing Elements: {missing_elements}\nExtra Elements: {extra_elements}" | |
| return summary | |
| # Gradio Interface | |
| interface = gr.Interface( | |
| fn=process_and_compare, | |
| inputs=[gr.Image(type="filepath", label="PDF Diagram Image"), | |
| gr.Image(type="filepath", label="PNG Diagram Image")], | |
| outputs="text", | |
| title="High-Level Diagram Comparison", | |
| description="Upload two diagrams (PDF & PNG) to compare their content." | |
| ) | |
| interface.launch() | |