Edge Detection using Python
A Python-based implementation of edge detection from first principles, highlighting manual convolution, grayscale transformation, and image boundary handling—built without relying on image processing libraries.
Technologies Used
Overview This academic project, developed at Blekinge Institute of Technology, focuses on implementing a fundamental edge detection algorithm in Python without using high-level image processing libraries such as OpenCV or PIL. The goal was to understand and demonstrate the underlying logic of edge detection using manual operations like grayscale conversion, convolution, and padding.
Key Features
Manual grayscale conversion and zero-padding for boundary handling
3×3 edge detection kernel implemented via manual convolution
Pixel-by-pixel transformation and reconstruction to highlight edges
Custom functions to visualize intermediate and final results
Verification function comparing custom output with standard library results for validation
System Design & Logic
The image is read and converted to grayscale using NumPy operations
A 3×3 kernel is applied through a manual convolution process
The edge map is visualized and compared against standard edge-detection results
Designed to work on any input image with a consistent structure
Educational Purpose This project was developed with an educational focus, allowing students and learners to explore the core mathematical operations involved in image processing. It acts as a foundational step for deeper computer vision work and helps build an intuitive understanding of how edge detection is implemented at the pixel level.
Impact The repository offers a hands-on, low-level perspective on how edges are extracted from images. By avoiding high-level functions, it enhances conceptual clarity and serves as a useful resource for students and early-stage computer vision learners.