HomeProductsDownloadOrderSupportSearch
  
 
 Myriad Blog 1.3.0 Thursday, Mar 28th, 2024 at 09:25am 

Friday, Mar 9th, 2007 at 04:43pm
ScanToMusic, étape 6

 
Aujourd'hui, nous avons commencé à essayer de gommer les lignes de portées, sans trop abîmer les caractères qui sont imprimés dessus.  
Ce n'est pas aussi facile que ça peut en avoir l'air. Il faut parvenir à "deviner" ce qu'il y avait imprimé sur la partie noire de la ligne, sans pour l'instant pouvoir s'appuyer sur une quelconque connaissance des caractères typographiques, puisque c'est justement cette étape qui est destinée à isoler les objets graphiques à reconnaitre.
 
Si, au bout du compte, nous nous apercevons que cette opération ne peut pas s'effectuer sans dommage, nous pouvons encore changer notre fusil d'épaule, et considérer que les lignes de portées font partie intégrante du caractère à reconnaître.
Mais cela compliquerait alors la partie reconnaissance proprement dite, car pour une tête de note, par exemple, il faudrait pouvoir reconnaître les quatre glyphes:
- tête de note entre deux lignes
- tête de note sur une ligne ou sur une petite ligne supplémenraire (ledger line)
- tête de note avec une ligne dessous (Sol aigu pour une clé de sol)
- tête de note avec une ligne dessus (Ré grave pour une clé de sol).
 
En somme, multiplier les calculs de reconnaissance par quatre...
 
by Olivier Guillion
Comments

Comment from Jean-Armand Saturday, Mar 10th, 2007 at 01:10am
(No subject)
Il y aurait une troisième voie qui consisterait à dire : un pixel qui est gommé ne devient ni blanc, ni noir, mais "indéterminé". Suivant les algorithmes que vous employez ensuite, cela peut être utilisable ou pas.
 
Sinon, une idée d'algorithme pour éviter d'effacer des bouts de caractères :
1) On efface les lignes de portée, et on note les pixels effacés.
2) Pour chacun des pixels effacés, s'il touche un pixel noir vers le haut ou le bas, on le colorie en noir.
3) On refait l'étape précédente un nombre de fois égal à la moitié de la largeur d'une ligne.
 
Inconvénient de cet algorithme, ça va marcher pour les lignes perpendiculaires aux lignes de portée, mais pas pour les lignes très obliques.
 
On peut l'améliorer en tenant compte, non pas du point juste au-dessus ou juste en-dessous, mais d'un pavé de points au-dessus ou en-dessous. Pour les règles à prendre en compte dans ce cas, c'est difficile à expliquer sans faire un dessin.

Comment from Jean-Armand Monday, Mar 12th, 2007 at 00:21am
Suite
Je me suis amusé à essayer d'améliorer l'algorithme ci-dessus. Voyez le fichier Excel suivant :
http://iubito.free.fr/myriad/Interpolation.abc
(Télécharger le document et le renommer en Interpolation.zip s'il ne le fait pas automatiquement ; puis dézipper).
 
Chaque onglet utilise le ou les onglets précédents. La zone de 10 à 19 (entre deux traits horizontaux) représente la ligne de portée que l'on souhaite effacer. L'algorithme ne prend en compte que deux pixels de hauteur au-dessus et en-dessous de cette ligne ; c'est un point qu'il faudrait améliorer.
 
Amusez-vous bien...  


Most recent first
Oldest first

Top of page
Legal information Cookies Last update:  (c) Myriad