專利名稱:一種基于圖像處理及樂(lè)符知識(shí)的音符基元分割方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,尤其是在數(shù)字音樂(lè)圖書館等音樂(lè)樂(lè)譜數(shù)字化應(yīng)用開(kāi)發(fā)的領(lǐng)域。
背景技術(shù):
光學(xué)樂(lè)譜技術(shù)是今年來(lái)發(fā)展起來(lái)的實(shí)現(xiàn)紙質(zhì)樂(lè)譜數(shù)字化的一種主流技術(shù),不同于傳統(tǒng)的圖像儲(chǔ)存格式,采用光學(xué)掃描壓縮儲(chǔ)存樂(lè)譜圖像,而是記錄樂(lè)譜所表達(dá)的音樂(lè)內(nèi)容,因而所需要的儲(chǔ)存空間更小,并且可以很方便的對(duì)其進(jìn)行編輯、加工、打印、傳播或者實(shí)時(shí)演奏。OMR技術(shù)為紙質(zhì)樂(lè)譜的數(shù)字化提供了一個(gè)智能、高效、的新途徑,可以廣泛的應(yīng)用在計(jì)算機(jī)輔助音樂(lè)教學(xué)、數(shù)字音樂(lè)圖書館建設(shè)、互聯(lián)網(wǎng)音樂(lè)搜索、計(jì)算機(jī)音樂(lè)合成等領(lǐng)域。國(guó)外有關(guān)OMR的研究起始于60年代后期,當(dāng)時(shí)由于技術(shù)條件和硬件設(shè)備的限制,所研究的內(nèi)容也是非常有限的。到了 70年代后期,隨著光學(xué)掃描儀的出現(xiàn)和機(jī)器性能的提升,OMR才真正引起眾多學(xué)者的廣泛關(guān)注。進(jìn)入80年代后,隨著計(jì)算機(jī)圖形圖像技術(shù)的不斷發(fā)展與成熟,研究?jī)?nèi)容越來(lái)越深入,部分研究成果也正逐步進(jìn)入實(shí)用階段。在我國(guó),一方面由于計(jì)算機(jī)音樂(lè)發(fā)展起步晚,計(jì)算機(jī)音樂(lè)只是少數(shù)音樂(lè)工作者的“專利”,社會(huì)缺乏計(jì)算機(jī)識(shí)別樂(lè)譜的需要;另一方面,由于國(guó)內(nèi)高校學(xué)科設(shè)置綜合化程度、學(xué)科交叉度與國(guó)外有著相當(dāng)大的差距,長(zhǎng)期以來(lái)看,從事計(jì)算機(jī)音樂(lè)研究的專業(yè)人才嚴(yán)重缺乏。因此,OMR技術(shù)在國(guó)內(nèi)的系統(tǒng)研究和實(shí)踐工作幾乎為空白。目前,西北工業(yè)大學(xué)與西安音樂(lè)學(xué)院合作正在展開(kāi)印刷體光學(xué)樂(lè)譜識(shí)別技術(shù)的研究,但目前國(guó)內(nèi)外仍然占有十分重要的地位,但該方法對(duì)于基兀的分割的效率不聞,須待進(jìn)一步提聞。
發(fā)明內(nèi)容
本發(fā)明的目的就是為克服上述現(xiàn)有技術(shù)存在的缺陷和不足,而提供一種基于圖像處理及樂(lè)符知識(shí)的音符基元分割方法。采用的技術(shù)方案是:
一種基于圖像處理及樂(lè)符知識(shí)的音符基元分割方法,其特征在于包括以下步驟:
1、利用投影法刪除譜線,得到?jīng)]有譜線的音符;
2、將上一步得到的音符進(jìn)行縱向膨脹,將其變形為一長(zhǎng)條;
3、用原樂(lè)譜的二值圖與去掉譜線的音符圖進(jìn)行差集,得到譜線;
4、用步驟2得到的結(jié)果和譜線進(jìn)行交集,將譜線按音符位置大小分割為小段。5、將劃分為小段的譜線和步驟I得到的音符進(jìn)行并集,得到每個(gè)音符都有小段譜線定位高低音的音符;
6、用步驟4得到的小段譜線進(jìn)行縱向拉膨脹長(zhǎng)條,再橫縱少許膨脹,用橫縱膨脹后的長(zhǎng)條與橫縱膨脹前的長(zhǎng)條差集,得到矩形框,其作用是為了音符的劃分;
7、將步驟5與步驟6的結(jié)果作并集,得到被矩形框框住的有小段譜線定位高低音的音
符;8、將步驟7得到的結(jié)果按像素連續(xù)進(jìn)行圖像劃分,得到單個(gè)的矩形框;
9、按樂(lè)譜順序和事先錄入的音符庫(kù)逐個(gè)對(duì)比單個(gè)矩形框的音符發(fā)音,存入發(fā)音矩陣;
10、將發(fā)音矩陣內(nèi)容播放出來(lái)。本發(fā)明的方法不僅能識(shí)別出音符的種類,同時(shí)保存其與譜線的相對(duì)位置,完整保留了音符的所有信息。
圖1是本發(fā)明刪除譜線后的音符。圖2是本發(fā)明差集得到的譜線。圖3是本發(fā)明交集得到的分割譜線。圖4是本發(fā)明并集得到的譜線定位音符。圖5是本發(fā)明膨脹差集得到的矩形框。圖6是本發(fā)明前處理目標(biāo)結(jié)果。圖7是本發(fā)明音符劃分出的單個(gè)可識(shí)別基元。
具體實(shí)施例方式一種基于圖像處理及樂(lè)符知識(shí)的音符基元分割方法,具體包括以下步驟:
(I)利用投影法刪除譜線 ,得到?jīng)]有譜線的音符。(2)將上一步得到的音符進(jìn)行縱向膨脹,將其變形為一長(zhǎng)條。(3)對(duì)樂(lè)譜的二值圖進(jìn)行轉(zhuǎn)置,將用投影法刪除譜線的圖1mage2,用二值圖1mage I和去掉譜線的image2作差,得到譜線。(4)用image2進(jìn)行線性水平膨脹得到長(zhǎng)條與譜線進(jìn)行交集得到和音符位置對(duì)應(yīng)的小段譜線puxianl,用小段譜線puxianl再次水平膨脹成長(zhǎng)條與譜線puxian相交得到規(guī)則的小段譜線,賦予puxianl。(5)用puxianl以strel (line ‘,30,O’)進(jìn)行水平膨脹成為一個(gè)規(guī)則矩形條,再將這個(gè)矩形條以ones (3,3)進(jìn)行膨脹得到一個(gè)大一點(diǎn)的矩形條。將這兩個(gè)矩形條進(jìn)行差集得到一個(gè)矩形框kuang。(6)將用投影法刪除的圖1mage2、規(guī)則的譜線段puxianl與矩形框kuang進(jìn)行并集運(yùn)算,得到重建的樂(lè)譜image5。(7)將image5進(jìn)行轉(zhuǎn)置得到前處理最終結(jié)果imagelO。(8)對(duì)圖像進(jìn)行按像素連續(xù)分割,并與錄入的音符發(fā)音庫(kù)對(duì)比,得到發(fā)音存于矩陣yin,播放矩陣yin。樂(lè)譜識(shí)別主程序包括以下流程:
關(guān)閉清理上次運(yùn)行的結(jié)果 warning off
clc, close all, clear all讀入樂(lè)譜
imagel=imread(,yuepu\10.jpg,);
變?yōu)槎祱D像imagel=rgb2gray(imagel);imagel=im2bw(imagel);
轉(zhuǎn)置取反imagel=imager ;imagel= imageI;
投影法刪除譜線=size(imagel);
imagel=bwareaopen(imagel, 15) ;% 去噪
touying=sum(imagel);
a2=l: length(touying);
figure
plot (a2,touying(a2));al=.7^max (touying); =find(touying>al);image2=imagel;image2(:,jl)=0;
顯示刪除譜線 的結(jié)果figure
imshow(image2);
以下是權(quán)利要求部分的函數(shù)差集得到譜線puxian=imagel-1mage2;
顯示譜線figure
imshow (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);
顯示分割的譜線figure
imshow (puxianl)
得到矩形框
se=strel (,line,,30,0);kuangl=imdilate(puxianl, se);se=ones (3,3);
kuang2=imdilate(kuangl,se);kuang=kuang2_kuangl;
顯示矩形框figure
imshow(kuang)
并集得到樂(lè)譜重建結(jié)果
image5=image2+puxianl+kuang-1mage2.氺puxianl.氺kuang;ImagelO=ImageSi ;% 轉(zhuǎn)置顯示樂(lè)譜重建結(jié)果figure
imshow(imagelO)
以上是權(quán)利要求部分函數(shù)yin=[];re=imagelO;
加載全局變量load templatesglobal templatesnum_letras=size( templates, 2); = find(re==l,1,’first’);re (row, col) =0;while I
橫向分割樂(lè)譜=lines (re);imgn=fI;
縱向分割樂(lè)譜得到樂(lè)譜基元[L Ne] = bwlabel (imgn);
逐個(gè)音符基元對(duì)比識(shí)別for n=l:Ne
[r,c] = find(L==n);
nl=imgn (min (r):max (r),min (c):max (c)); img_r=imresize(nl, [100 25]); i i i=im2bw(img_r);
letter=read—letter(iii,num—letras);
將音符發(fā)音裝入樂(lè)譜發(fā)音矩陣yin=[yin letter];
end
if isempty(re)break
end
end
播放樂(lè)譜發(fā)音矩陣sound (yin);clear al l0
權(quán)利要求
1.一種基于圖像處理及樂(lè)符知識(shí)的音符基元分割方法,其特征在于包括以下步驟: a、利用投影法刪除譜線,得到?jīng)]有譜線的音符; b、將上一步得到的音符進(jìn)行縱向膨脹,將其變形為一長(zhǎng)條; C、用原樂(lè)譜的二值圖與去掉譜線的音符圖進(jìn)行差集,得到譜線; d、用步驟b得到的結(jié)果和譜線進(jìn)行交集,將譜線按音符位置大小分割為小段; e、將劃分為小段的譜線和步驟a得到的音符進(jìn)行并集,得到每個(gè)音符都有小段譜線定位高低音的音符; f、用步驟d得到的小段譜線進(jìn)行縱向拉膨脹長(zhǎng)條,再橫縱少許膨脹,用橫縱膨脹后的長(zhǎng)條與橫縱膨脹前的長(zhǎng)條差集,得到矩形框,其作用是為了音符的劃分; g、將步驟e與步驟f的結(jié)果作并集,得到被矩形框框住的有小段譜線定位高低音的音符; h、將步驟g得到的結(jié)果按像素連續(xù)進(jìn)行圖像劃分,得到單個(gè)的矩形框; 1、按樂(lè)譜順序和事先錄入的音符庫(kù)逐個(gè)對(duì)比單個(gè)矩形框的音符發(fā)音,存入發(fā)音矩陣; η、將發(fā)音矩陣內(nèi)容播放出來(lái)。
全文摘要
一種基于圖像處理及樂(lè)符知識(shí)的音符基元分割方法,所利用到的音符知識(shí)主要是音符的形狀(空心實(shí)心等)決定發(fā)音長(zhǎng)短,音符相對(duì)于譜線的位置決定發(fā)音的高低。由于樂(lè)譜符號(hào)的空間多樣性,通常需要將樂(lè)譜對(duì)象分割成最基本的基元,以減輕樂(lè)譜識(shí)別的負(fù)擔(dān)并提高識(shí)別率。本發(fā)明根據(jù)音符及發(fā)音規(guī)則的特點(diǎn)提出了基于音符知識(shí)及布爾運(yùn)算的基元分割方法,先用投影法去掉譜線再用布爾運(yùn)算和膨脹、腐蝕將樂(lè)譜分割成包含音符及譜線的所有特征的基元。
文檔編號(hào)G06K9/20GK103106403SQ20131000470
公開(kāi)日2013年5月15日 申請(qǐng)日期2013年1月8日 優(yōu)先權(quán)日2013年1月8日
發(fā)明者楊麗, 岳明凱, 焦志剛, 秦潔, 方瓔翰 申請(qǐng)人:沈陽(yáng)理工大學(xué)