Optical Music Recognition
This repository is a short project demonstrating the use of template matching as a crude way of object detection.
Techniques used:
- Convolution/Separable Convolution
- Hamming Distance
- Edge detection using Sobel Filter
- Hough Transform
Limitations:
- Assumes that staves are parallel to the horizontal axis - eliminating this constraint might allow for more generalisation for the Hough Space.
- All threshold values are based on experimentation - hence they work well for some input images and not for others.
- Denoising the input image and/or the templates might help - currently only Gaussian Blurring is used.
Next steps:
- Symbol recognition: Currently only symbols are detected. Recognising these symbols is a challenge in case of blurry or not-so-straight images.
- Generalize Hough Transform to adapt to any orientation of the image.
- Minimalize overlapping bounding boxes using Non-Max Suppression.
Usage:
python3 file_name.png