Spaces:
Running
Running
| import cv2 as cv | |
| import gradio as gr | |
| from dexined import Dexined | |
| from huggingface_hub import hf_hub_download | |
| # Download ONNX model from Hugging Face | |
| model_path = hf_hub_download(repo_id="opencv/edge_detection_dexined", filename="edge_detection_dexined_2024sep.onnx") | |
| # Initialize model | |
| model = Dexined(modelPath=model_path) | |
| def detect_edges(input_image): | |
| input_image = cv.cvtColor(input_image, cv.COLOR_RGB2BGR) | |
| result = model.infer(input_image) | |
| result = cv.cvtColor(result, cv.COLOR_BGR2RGB) | |
| return result | |
| # Gradio UI | |
| demo = gr.Interface( | |
| fn=detect_edges, | |
| inputs=gr.Image(type="numpy", label="Upload Image"), | |
| outputs=gr.Image(type="numpy", label="Output"), | |
| title="Edge Detection DexiNed (OpenCV DNN)", | |
| allow_flagging="never", | |
| description="Upload an image to detect edges using OpenCV's ONNX-based edge detection using DexiNed model." | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() | |