Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A Music Sheet Reader That converts Music Sheets to a Machine-readable text.

License

NotificationsYou must be signed in to change notification settings

3omar-mostafa/OMR-System

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

OMR System

A sheet music reader that converts sheet music to a machine-readable version!

Methodology

1 - Fixing orientation and Skew and biniarization

Input Image

alt text

Fixed Rotation Image

alt text

Binarized Image

alt text

We Binarize the Image using Savoula with a block size relative to the sizeof the image then we dilate it to get the bounding rectangle around theimage then we crop the image and we start to fix the orientation by rotatingusing the angle from Hough line transform and we fix the skew by usingfour-point perspective.

2 - Segmentation of Staffs , Detecting Staff Notes and Line Removal

Segmented Image

alt text

We first dilate the image so that each staff is completely connected andthen we calculate the row histogram form which using an iterative way wetry different thresholds and calculate some parameters like the averagewidth and standard deviation of widths and then choose the parametersthat are best for the threshold and then we segment.

We calculate the thickness and space between lines using a column runlength and histogram then we detect the staff line Positions by using thehistogram and we remove them from the original image.

3 - Notes Positions Detection

Position of notes

alt text

We use a structuring element that is in the shape of an ellipse using thesame height as the detected from the Lines, then to detect hollow noteswe use skeletonization and then filling the outer and opening to and thenwe use the same structure element again.

4 - Notes Segmentation and Classifier Prediction

Lastly, we segment the notes using their bounding rectangle and passthem to the Classifier to get their value and translate them to therequired output and write them to file

License

Distributed under the MIT License. SeeLICENSE for more information.

Built With

About

A Music Sheet Reader That converts Music Sheets to a Machine-readable text.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python99.3%
  • Dockerfile0.7%

[8]ページ先頭

©2009-2025 Movatter.jp