"Out of curiosity because I don't know OMR workings: does removing the staffs in preprocessing really help the recognition, not complicate it?"
well, yes removing staffs could help in terms, I can define the region of interest and do template matching to find the duration of the note, e;g, whole note, half note, one fouth note, etc. as for the staff i can get the location of staff by hough transform or line detect on y-axis. then I can compare the location of note on y-axis to find which note is it. e.g, C, C#, D, D#...etc.
but my first problem still remains. what method other than hough transform could be used to find and erase the staffs.