一种基于图像处理及乐符知识的音符基元分割方法技术

技术编号:8704376 阅读:346 留言:0更新日期:2013-05-16 18:13
一种基于图像处理及乐符知识的音符基元分割方法,所利用到的音符知识主要是音符的形状(空心实心等)决定发音长短,音符相对于谱线的位置决定发音的高低。由于乐谱符号的空间多样性,通常需要将乐谱对象分割成最基本的基元,以减轻乐谱识别的负担并提高识别率。本发明专利技术根据音符及发音规则的特点提出了基于音符知识及布尔运算的基元分割方法,先用投影法去掉谱线再用布尔运算和膨胀、腐蚀将乐谱分割成包含音符及谱线的所有特征的基元。

【技术实现步骤摘要】

本专利技术涉及图像处理
,尤其是在数字音乐图书馆等音乐乐谱数字化应用开发的领域。
技术介绍
光学乐谱技术是今年来发展起来的实现纸质乐谱数字化的一种主流技术,不同于传统的图像储存格式,采用光学扫描压缩储存乐谱图像,而是记录乐谱所表达的音乐内容,因而所需要的储存空间更小,并且可以很方便的对其进行编辑、加工、打印、传播或者实时演奏。OMR技术为纸质乐谱的数字化提供了一个智能、高效、的新途径,可以广泛的应用在计算机辅助音乐教学、数字音乐图书馆建设、互联网音乐搜索、计算机音乐合成等领域。国外有关OMR的研究起始于60年代后期,当时由于技术条件和硬件设备的限制,所研究的内容也是非常有限的。到了 70年代后期,随着光学扫描仪的出现和机器性能的提升,OMR才真正引起众多学者的广泛关注。进入80年代后,随着计算机图形图像技术的不断发展与成熟,研究内容越来越深入,部分研究成果也正逐步进入实用阶段。在我国,一方面由于计算机音乐发展起步晚,计算机音乐只是少数音乐工作者的“专利”,社会缺乏计算机识别乐谱的需要;另一方面,由于国内高校学科设置综合化程度、学科交叉度与国外有着相当大的差距,长期以来看,从事计算机音乐研究的专业人才严重缺乏。因此,OMR技术在国内的系统研究和实践工作几乎为空白。目前,西北工业大学与西安音乐学院合作正在展开印刷体光学乐谱识别技术的研究,但目前国内外仍然占有十分重要的地位,但该方法对于基兀的分割的效率不闻,须待进一步提闻。
技术实现思路
本专利技术的目的就是为克服上述现有技术存在的缺陷和不足,而提供。采用的技术方案是: ,其特征在于包括以下步骤: 1、利用投影法删除谱线,得到没有谱线的音符; 2、将上一步得到的音符进行纵向膨胀,将其变形为一长条; 3、用原乐谱的二值图与去掉谱线的音符图进行差集,得到谱线;4、用步骤2得到的结果和谱线进行交集,将谱线按音符位置大小分割为小段。5、将划分为小段的谱线和步骤I得到的音符进行并集,得到每个音符都有小段谱线定位高低音的音符; 6、用步骤4得到的小段谱线进行纵向拉膨胀长条,再横纵少许膨胀,用横纵膨胀后的长条与横纵膨胀前的长条差集,得到矩形框,其作用是为了音符的划分; 7、将步骤5与步骤6的结果作并集,得到被矩形框框住的有小段谱线定位高低音的音符;8、将步骤7得到的结果按像素连续进行图像划分,得到单个的矩形框; 9、按乐谱顺序和事先录入的音符库逐个对比单个矩形框的音符发音,存入发音矩阵; 10、将发音矩阵内容播放出来。本专利技术的方法不仅能识别出音符的种类,同时保存其与谱线的相对位置,完整保留了音符的所有信息。附图说明图1是本专利技术删除谱线后的音符。图2是本专利技术差集得到的谱线。图3是本专利技术交集得到的分割谱线。图4是本专利技术并集得到的谱线定位音符。图5是本专利技术膨胀差集得到的矩形框。图6是本专利技术前处理目标结果。图7是本专利技术音符划分出的单个可识别基元。具体实施例方式,具体包括以下步骤: (I)利用投影法删除谱线 ,得到没有谱线的音符。(2)将上一步得到的音符进行纵向膨胀,将其变形为一长条。(3)对乐谱的二值图进行转置,将用投影法删除谱线的图1mage2,用二值图1mage I和去掉谱线的image2作差,得到谱线。(4)用image2进行线性水平膨胀得到长条与谱线进行交集得到和音符位置对应的小段谱线puxianl,用小段谱线puxianl再次水平膨胀成长条与谱线puxian相交得到规则的小段谱线,赋予puxianl。(5)用puxianl以strel (line ‘,30,O’)进行水平膨胀成为一个规则矩形条,再将这个矩形条以ones (3,3)进行膨胀得到一个大一点的矩形条。将这两个矩形条进行差集得到一个矩形框kuang。(6)将用投影法删除的图1mage2、规则的谱线段puxianl与矩形框kuang进行并集运算,得到重建的乐谱image5。(7)将image5进行转置得到前处理最终结果imagelO。(8)对图像进行按像素连续分割,并与录入的音符发音库对比,得到发音存于矩阵yin,播放矩阵yin。乐谱识别主程序包括以下流程: 关闭清理上次运行的结果 warning offclc, close all, clear all读入乐谱imagel=imread(,yuepu\10.jpg,); 变为二值图像imagel=rgb2gray(imagel);imagel=im2bw(imagel);转置取反imagel=imager ;imagel= imageI;投影法删除谱线=size(imagel);imagel=bwareaopen(imagel, 15) ;% 去噪touying=sum(imagel);a2=l: length(touying);figureplot (a2,touying(a2));al=.7^max (touying); =find(touying>al);image2=imagel;image2(:,jl)=0;显示删除谱线 的结果figureimshow(image2);以下是权利要求部分的函数差集得到谱线puxian=imagel-1mage2;显示谱线figureimshow (puxian);分割谱线se=strel (,line,,60,O);image3=imdilate(image2,se);image4=image3.^puxian;se=strel (,line,,60,0);image4=imdilate(image4,se);puxianl=image4.氺puxian;se=strel (,line,,4,90);puxianl=imdilate(puxianl, se);显示分割的谱线figureimshow (puxianl)得到矩形框se=strel (,line,,30,0);kuangl=imdilate(puxianl, se);se=ones (3,3);kuang2=imdilate(kuangl,se);kuang=kuang2_kuangl;显示矩形框figureimshow(kuang)并集得到乐谱重建结果image5=image2+puxianl+kuang-1mage2.氺puxianl.氺kuang;ImagelO=ImageSi ;% 转置显示乐谱重建结果figureimshow(imagelO)以上是权利要求部分函数yin=[];re=imagelO;加载全局变量load templatesglobal templatesnum_letras=size( templates, 2); = find(re==l,1,’first’);re (row, col) =0;while I 横向分割乐谱=lines (re);imgn=fI; 纵向分割乐谱得到乐谱基元 = bwlabel (imgn); 逐个音符基元对比识别for n=l:Ne = find(L==n); nl=imgn (min (r):max (r),min (c):max (c)); img_r=imresize(nl, ); i i i=im2bw(img_r);letter=read—lett本文档来自技高网...

【技术保护点】
一种基于图像处理及乐符知识的音符基元分割方法,其特征在于包括以下步骤:a、 利用投影法删除谱线,得到没有谱线的音符;  b、将上一步得到的音符进行纵向膨胀,将其变形为一长条;    c、 用原乐谱的二值图与去掉谱线的音符图进行差集,得到谱线;    d、用步骤b得到的结果和谱线进行交集,将谱线按音符位置大小分割为小段;  e、将划分为小段的谱线和步骤a得到的音符进行并集,得到每个音符都有小段谱线定位高低音的音符;  f、用步骤d得到的小段谱线进行纵向拉膨胀长条,再横纵少许膨胀,用横纵膨胀后的长条与横纵膨胀前的长条差集,得到矩形框,其作用是为了音符的划分;  g、将步骤e与步骤f的结果作并集,得到被矩形框 框住的有小段谱线定位高低音的音符;  h、将步骤g得到的结果按像素连续进行图像划分,得到单个的矩形框;  l、按乐谱顺序和事先录入的音符库逐个对比单个矩形框的音符发音,存入发音矩阵;n、将发音矩阵内容播放出来。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨丽岳明凯焦志刚秦洁方瓔翰
申请(专利权)人:沈阳理工大学
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1