Edge Detection GUI using OpenCV 📌 Overview
This project demonstrates classical edge detection techniques implemented with OpenCV and Python, combined with Graphical User Interfaces (GUI) for interactive visualization.
The project focuses on understanding and comparing traditional edge detection operators such as Canny, Sobel, and Prewitt, both as standalone algorithms and in GUI-based applications.
It is designed for computer vision learning, image processing practice, and algorithm visualization, without using deep learning.
🎯 Objectives
Learn how classical edge detection algorithms work
Implement edge detection using OpenCV
Build simple GUIs for interactive image processing
Compare different edge detectors on the same input images
Practice clean project organization and naming conventions
🧠 Edge Detection Methods Implemented 🔹 Canny Edge Detection
Noise reduction using Gaussian blur
Gradient computation
Non-maximum suppression
Double thresholding and edge tracking
🔹 Sobel Operator
First-order gradient operator
Horizontal and vertical edge detection
🔹 Prewitt Operator
Similar to Sobel but simpler kernel
Used for educational comparison
🔹 Combined Methods
Canny + Sobel
Canny + Prewitt
Sobel + Prewitt
🖥️ GUI Features
Load and display input images
Apply edge detection algorithms interactively
Switch between different methods
Visual comparison of results
Simple and lightweight GUI (OpenCV / PyQt-style) 📸 Example Outputs
Edge maps using Canny, Sobel, and Prewitt
GUI-based real-time visualization
Comparison between different edge detectors
(Sample images are provided in the images/ folder)
📚 Educational Use
This project is suitable for:
Computer Vision courses
Image Processing labs
OpenCV practice
Algorithm visualization assignments
🚀 Future Improvements
Add Laplacian and LoG edge detectors
Add parameter sliders in GUI
Support video and webcam input
Export results automatically
Improve GUI using PyQt or Tkinter
👤 Author
Nguyen Van Dat Computer Vision & Image Processing GitHub: blueDstar