Professional Documents
Culture Documents
Problem Definition
Image processing is a field of signal processing in which input and output signals are both images (2D matrices). Feature extraction involves simplifying the amount of resources required to describe a large set of data accurately. Our project studies and implements various algorithms on feature extractions.
Circle Detection:
Hough Transform
Line Detection:
Hough Transform
Corner Detection:
Trajkovics 8-neighbour algorithm
Image
The images we handle are RGB type. Each pixel is a 32 bit integer. We have implemented a new data type for handling images called Picture.
Picture Class
Constructors
From Picture From a 2D array From a filename
Picture Class
FILE SHOW IMAGE 2D ARRAY
IMAGE
EDIT PIXELS
GRAYSCALE
CROP
Edge Detection
Edge detection is a terminology which aim at identifying points in a digital image at which the image brightness changes sharply or more formally has discontinuities. Edge Detection algorithms are broadly classified as
First order Higher order
Gray-Scaled Image
Masking
Threshold
Edge Detected
Masking
Noise Reduction
Non-maxima Suppression
Threshold
Edge Detected
For reducing noise, we used Gaussian Filter (Blurring Algorithm). On edge detected by first order detector, we used an algorithm called Non-maximal Suppression to have single/thin edges. After that, we used Stack data structure for path traversal for finding continuous edges.
Manual Threshold
Automatic Threshold
Original Image
Sobel
Canny Manual
Canny Automatic
Detected Lines/Circles
Threshold
Path Traversal
In Circle Detection, we also included taking range of radius of circles to be detected as input to make the algorithm run faster.
Original Image
Original Image
Corner Detection
Input Image
Original Image
Cornerness of each pixel
Threshold
Corner Detected
Corner Detected
Threshold Selection
Manual:
User can set high-low thresholds for each operation performed during the algorithm.
Automatic:
By experimentation, we have found a heuristic to select a suitable threshold for any input image.
Original Image
Original Image
Original Image
Standard Output
Our Output
Original Image
Standard Output
Our Output
Original Image
Standard Output
Our Output
Future Possibilities
Generalized Curve Detection Higher Order Edge Detection Some more shape based feature detection Optimizations in current algorithms Handling large size images Pattern recognition Face recognition
What we learnt
Feature Extraction Algorithms Limitations of algorithms when applied to real life problems
Image Size Selecting Threshold Noise
Handling Images
Image types : RGB, ARGB, Raster, Vector