What?
I have started a java/opencv based OMR solution as a part of my master’s thesis.
If it compiles, it is good; if it
boots updetects something, it is perfect.
Currently detects:
- Staff lines
- Note heads
Also features a nifty JavaFX GUI!
How?
- Uses some preprocessing magic to clean up the scanned the sheet music (global threshold, morphological smoothing, scale estimation)
- Takes a probabilistic Hough transform with some additional magic to get staff lines (Progressive Probabilistic Hough Transform, Zhang-Suen, heuristics…)
- Pushes the entire sheet to pre-trained SVM to find note heads (linear SVM, IoU)
Gimme
Main repo at bitbucket. Build via “mvn clean install”.