一種樂(lè)譜識(shí)別方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種樂(lè)譜識(shí)別方法,包括:輸入樂(lè)譜圖像,獲得樂(lè)譜圖像的二值圖像;使用交叉相關(guān)函數(shù)對(duì)二值圖像的各區(qū)域進(jìn)行水平修正,獲得水平圖像;對(duì)水平圖像進(jìn)行譜線(xiàn)定位,并刪除譜線(xiàn),獲得刪除譜線(xiàn)的圖像;在刪除譜線(xiàn)的圖像中定位符干,獲得符干基元的坐標(biāo)數(shù)據(jù),及刪除符干的圖像;在刪除符干的圖像中定位尾橋,獲得尾橋基元的坐標(biāo)數(shù)據(jù),及刪除尾橋的圖像;在刪除尾橋的圖像中定位符頭,得到符頭基元的坐標(biāo)數(shù)據(jù);將基元符干、尾橋、符頭的數(shù)據(jù)進(jìn)行匹配,并整合聲部數(shù)、時(shí)值以及聲高,生成musicXML文件保存。本發(fā)明實(shí)施例能夠?qū)崿F(xiàn)將樂(lè)譜錄入到計(jì)算機(jī)中,解決了樂(lè)譜錄入效率低下的問(wèn)題。
【專(zhuān)利說(shuō)明】一種樂(lè)譜識(shí)別方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種樂(lè)譜識(shí)別方法【背景技術(shù)】
[0002]隨著計(jì)算機(jī)應(yīng)用的不斷發(fā)展,各類(lèi)音頻編輯軟件的不斷完善,計(jì)算機(jī)已成為音樂(lè)創(chuàng)作過(guò)程中一個(gè)不可或缺的工具。五線(xiàn)譜作為一種相對(duì)標(biāo)準(zhǔn)和全面的音樂(lè)記錄方式,在音樂(lè)的創(chuàng)作和教學(xué)等方面被廣泛地運(yùn)用。數(shù)字化的樂(lè)譜相對(duì)于傳統(tǒng)的紙質(zhì)樂(lè)譜而言,不但在便攜性與存儲(chǔ)容量方面具有巨大的優(yōu)勢(shì),而且能通過(guò)網(wǎng)絡(luò)方便地查詢(xún),管理以及與他人分享。
[0003]在信息化大時(shí)代的環(huán)境下,網(wǎng)絡(luò)曲譜庫(kù)應(yīng)運(yùn)而生,谷歌圖書(shū)(Google Books)和古登堡計(jì)劃(Project Gutenberg)分別推出了曲譜檢索和查閱功能?!皣?guó)際樂(lè)譜庫(kù)項(xiàng)目”(簡(jiǎn)稱(chēng)MSLP)搭建了 MSLP音樂(lè)圖書(shū)館(imslp.0rg)這一網(wǎng)站,用于收藏來(lái)自全球支持者們所上傳的電子樂(lè)譜。
[0004]然而,目前仍有相當(dāng)可觀(guān)數(shù)量的樂(lè)譜以紙質(zhì)的形式存在,即使存儲(chǔ)在計(jì)算機(jī)上也大都以圖片的形式保存。當(dāng)人們需要利用計(jì)算機(jī)上豐富的功能對(duì)樂(lè)譜進(jìn)行編輯時(shí),不可避免地要先通過(guò)電子打譜軟件將樂(lè)譜手動(dòng)轉(zhuǎn)化為電子文檔。使用打譜軟件不僅要具備一定的音樂(lè)專(zhuān)業(yè)知識(shí),而且還需額外花費(fèi)時(shí)間掌握復(fù)雜的操作命令和經(jīng)驗(yàn)技巧;另外,樂(lè)譜錄入過(guò)程繁復(fù)、枯燥,效率低下,大大打擊了音樂(lè)愛(ài)好者們使用計(jì)算機(jī)輔助音樂(lè)學(xué)習(xí)與創(chuàng)作的熱情。
[0005]另一方面,隨著數(shù)字圖書(shū)館的蓬勃發(fā)展,數(shù)字音樂(lè)圖書(shū)館也悄然興起。館藏紙質(zhì)樂(lè)譜資源的數(shù)字化已成為建設(shè)數(shù)字音樂(lè)圖書(shū)館的當(dāng)務(wù)之急。音樂(lè)圖書(shū)館所藏的樂(lè)譜數(shù)以萬(wàn)計(jì),如此浩大的數(shù)字化工程,若單純靠傳統(tǒng)的人工錄入,將是漫長(zhǎng)和繁重的工作,既費(fèi)時(shí)又昂貴。因此,在紙質(zhì)樂(lè)譜數(shù)字化的進(jìn)程中,不可避免地產(chǎn)生了低速的音樂(lè)信息輸入與高速信息處理之間的矛盾。
【發(fā)明內(nèi)容】
[0006]本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種樂(lè)譜識(shí)別方法,解決將樂(lè)譜錄入到計(jì)算機(jī)中時(shí)效率低下的問(wèn)題。
[0007]為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供一種樂(lè)譜識(shí)別方法,包括:
[0008]a.輸入樂(lè)譜圖像,獲得所述樂(lè)譜圖像的二值圖像;
[0009]b.使用交叉相關(guān)函數(shù)對(duì)所述二值圖像的各區(qū)域進(jìn)行水平修正,獲得水平圖像;
[0010]c.對(duì)所述水平圖像進(jìn)行譜線(xiàn)定位,并刪除所述譜線(xiàn),獲得刪除譜線(xiàn)的圖像;
[0011]d.在所述刪除譜線(xiàn)的圖像中定位符干,獲得符干基元的坐標(biāo)數(shù)據(jù),及刪除符干的圖像;
[0012]e.在所述刪除符干的圖像中定位尾橋,獲得尾橋基元的坐標(biāo)數(shù)據(jù),及刪除尾橋的圖像;[0013]f.在所述刪除尾橋的圖像中定位符頭,得到符頭基元的坐標(biāo)數(shù)據(jù);
[0014]g.將基元符干、尾橋、符頭的數(shù)據(jù)進(jìn)行匹配,并整合聲部數(shù)、時(shí)值以及聲高,生成musicXML文件保存。
[0015]進(jìn)一步的,所述步驟a具體包括:
[0016]al.掃描樂(lè)譜得到樂(lè)譜圖像;
[0017]a2.對(duì)所述樂(lè)譜圖像進(jìn)行二值化、圖像增強(qiáng)和平滑濾波處理,獲得二值圖像。
[0018]進(jìn)一步的,所述步驟b具體包括:
[0019]利用交叉相關(guān)函數(shù)對(duì)所述二值圖像進(jìn)行水平修正,獲得水平圖像;
[0020]其中,交叉相關(guān)函數(shù)為
【權(quán)利要求】
1.一種樂(lè)譜識(shí)別方法,其特征在于,包括: a.輸入樂(lè)譜圖像,獲得所述樂(lè)譜圖像的二值圖像; b.使用交叉相關(guān)函數(shù)對(duì)所述二值圖像的各區(qū)域進(jìn)行水平修正,獲得水平圖像; c.對(duì)所述水平圖像進(jìn)行譜線(xiàn)定位,并刪除所述譜線(xiàn),獲得刪除譜線(xiàn)的圖像; d.在所述刪除譜線(xiàn)的圖像中定位符干,獲得符干基元的坐標(biāo)數(shù)據(jù),及刪除符干的圖像; e.在所述刪除符干的圖像中定位尾橋,獲得尾橋基元的坐標(biāo)數(shù)據(jù),及刪除尾橋的圖像; f.在所述刪除尾橋的圖像中定位符頭,得到符頭基元的坐標(biāo)數(shù)據(jù); g.將基元符干、尾橋、符頭的數(shù)據(jù)進(jìn)行匹配,并整合聲部數(shù)、時(shí)值以及聲高,生成musicXML 文件。
2.根據(jù)權(quán)利要求1所述的樂(lè)譜識(shí)別方法,其特征在于,所述步驟a具體包括: al.掃描樂(lè)譜得到樂(lè)譜圖像; a2.對(duì)所述樂(lè)譜圖像進(jìn)行二值化、圖像增強(qiáng)和平滑濾波處理,獲得二值圖像。
3.根據(jù)權(quán)利要求1所述的樂(lè)譜識(shí)別方法,其特征在于,所述步驟b具體包括: 利用交叉相關(guān)函數(shù)對(duì)所述二值圖像進(jìn)行水平修正,獲得水平圖像;
H-X 其中,交叉相關(guān)函數(shù)為^ X ,V)g(-V + i/, V + LI) g(x, y)表示所述二值圖像上橫
V=O坐標(biāo)為X,縱坐標(biāo)為y的某一個(gè)像素點(diǎn)A,g(x+d, y+μ)表示所述二值圖像上橫坐標(biāo)為x+d,縱坐標(biāo)為y+ μ的另一個(gè)像素點(diǎn)B,d表示A和B之間的水平距離,μ表示A和B之間的垂直距離,C(x,^表示A與B之間的相關(guān)性;0≤X≤W,O≤y≤H,W表示所述二值圖像的寬度,H表示所述二值圖像的高度。
4.根據(jù)權(quán)利要求1所述的樂(lè)譜識(shí)別方法,其特征在于,所述步驟c具體包括: Cl.對(duì)所述水平圖像進(jìn)行水平投影,統(tǒng)計(jì)不同高度上水平投影隊(duì)列黑色像素的個(gè)數(shù)得到水平投影數(shù)組,所述水平投影數(shù)組中峰值所在的位置即為譜線(xiàn)位置; c2.對(duì)譜線(xiàn)所在位置黑色像素的上下兩端的像素進(jìn)行判斷,如果兩邊的像素都為白色,且該黑色像素的高度小于或者等于譜線(xiàn)預(yù)期的高度,則將該黑色像素改為白色,獲得刪除譜線(xiàn)的圖像。
5.根據(jù)權(quán)利要求1所述的樂(lè)譜識(shí)別方法,其特征在于,所述步驟d具體包括: dl.對(duì)所述刪除譜線(xiàn)的圖像進(jìn)行高斯模糊處理后,對(duì)其進(jìn)行骨架化操作; d2.創(chuàng)建數(shù)組VLTemp 口用于保存所述刪除譜線(xiàn)的圖像中的豎直線(xiàn)的上端點(diǎn)的縱坐標(biāo),VLTemp[i]表示橫坐標(biāo)為x=i的豎直線(xiàn)的上端點(diǎn)的縱坐標(biāo);并初始化VLTemp[i] =_1(i=0,……,ff-1); 對(duì)于i所對(duì)應(yīng)的豎直線(xiàn): 按照縱坐標(biāo)從大到小的順序,檢測(cè)所述豎直線(xiàn)上每個(gè)像素點(diǎn)及其左右兩側(cè)像素點(diǎn)的顏色,若該像素點(diǎn)顏色為黑色,其左右兩側(cè)像素點(diǎn)顏色為白色,用O表示白色像素,I表示黑色像素,即像素排列形如“010”模式,且VLTemp[i]為-1時(shí),將VLTemp[i]改為當(dāng)前遍歷中的縱坐標(biāo)Y1,若當(dāng)前遍歷坐標(biāo)不滿(mǎn)足“010”模式,VLTemp [i]又不為-1時(shí),判斷當(dāng)前遍歷縱坐標(biāo)和VLTemp[i]之間的差值,若差值大于長(zhǎng)度閥值t1; &為兩個(gè)像素,則當(dāng)前遍歷縱坐標(biāo)即為所述豎直線(xiàn)的下端點(diǎn)縱坐標(biāo)y2 ; 將所述豎直線(xiàn)的上端點(diǎn)縱坐標(biāo)y1;下端點(diǎn)縱坐標(biāo)y2,橫坐標(biāo)X保存到鏈表Cl中,重新給VLTemp [i]賦初值-1 ; d3.對(duì)所述鏈表Cl進(jìn)行兩次排序,第一次按所述豎直線(xiàn)的橫坐標(biāo)X排序,第二次按所述豎直線(xiàn)的縱坐標(biāo)y2排序,并以數(shù)組vSet記錄每一行第一條豎直線(xiàn)的位置坐標(biāo); d4.遍歷所述鏈表Cl中豎直線(xiàn)的橫坐標(biāo),并判斷豎直線(xiàn)的橫坐標(biāo)X的差值,若出現(xiàn)兩條豎直線(xiàn)的橫坐標(biāo)X的差值小于閥值t2,t2為兩個(gè)像素,則判斷所述兩條豎直線(xiàn)的縱坐標(biāo),若所述兩條豎直線(xiàn)其中一條的上端點(diǎn)縱坐標(biāo)I1和另外一條的下端點(diǎn)縱坐標(biāo)y2的差值也小于閥值t2,此時(shí)將所述兩條豎直線(xiàn)判定為被截?cái)嗟呢Q直線(xiàn),所述兩條被截?cái)嗟呢Q直線(xiàn)的合并公式為: ilI刪除所述兩條被截?cái)嗟呢Q直線(xiàn)中縱坐標(biāo)較大的豎直線(xiàn)的情況時(shí):
^ Uer 3 smallerbigger ybiggerbigger O,^bigger O 當(dāng)刪除所述兩條被截?cái)嗟呢Q直線(xiàn)中縱坐標(biāo)較小的豎直線(xiàn)的情況時(shí):
bigger — ybigger O7細(xì)y7smaller )Vsmuiier — 0,ysmaller — 0 其中,yl一、表示所述兩條被截?cái)嗟呢Q直線(xiàn)中縱坐標(biāo)較小的那條豎直線(xiàn)的上端點(diǎn)、下端點(diǎn)縱坐標(biāo),^表示所述兩條被截?cái)嗟呢Q直線(xiàn)中縱坐標(biāo)較大的那條豎直線(xiàn)的上端點(diǎn)、下端點(diǎn)縱坐標(biāo); 重新設(shè)置記錄每一行第一條垂線(xiàn)的數(shù)組vSet ; d5.將所述鏈表Cl中所記錄的豎直線(xiàn)的上下端點(diǎn)的縱坐標(biāo)之差超過(guò)1.5*4* λ的豎直線(xiàn)刪除,其中λ為譜線(xiàn)間距; d6.將所述鏈表Cl中存放的坐標(biāo)所對(duì)應(yīng)的符干改為白色像素,得到刪除符干的圖像。
6.根據(jù)權(quán)利要求1所述的樂(lè)譜識(shí)別方法,其特征在于,所述步驟e具體包括: el.提取所述刪除符干的圖像中的大塊連通域: 創(chuàng)建一個(gè)所述刪除符干的圖像的副本圖像; 遍歷所述副本圖像,將長(zhǎng)度小于閥值t3的水平和豎直游程改為白色像素,其中,t3等于λ +2,并將面積小于λ 2* π /8,或者外接矩形高度大于Η/2的連通域改為白色像素,其中H為所述二值圖像的高度;e2.第一輪尾橋識(shí)別: 判斷經(jīng)el處理的所述副本圖像中的連通域的上下邊緣的直線(xiàn)度Lin,其中,直線(xiàn)度Lin的取值范圍為(0,l],Lin越接近1,邊緣輪廓的曲折程度越低,表示連通域的上下邊緣的形狀越接近直線(xiàn),如果所述連通域的上下任意一條邊緣的直線(xiàn)度Lin接近1,則判定該連通域?yàn)槲矘?,得到尾橋連通域的厚度樣本;e3.第二輪尾橋識(shí)別: 在經(jīng)el處理的所述副本圖像中,判斷連通域外接矩形較小邊的長(zhǎng)度I,若I等于或接近所述尾橋連通域的厚度樣本時(shí),判斷該連通域?yàn)槲矘颍? 將所述尾橋的位置坐標(biāo)存放在鏈表C2中;e4.遍歷所述鏈表C2,生成數(shù)組tSet記錄每一行第一個(gè)尾橋;并將所述鏈表C2中存放的坐標(biāo)所對(duì)應(yīng)的上述刪除符干的圖像中的尾橋改為白色像素,得到刪除尾橋的圖像。
7.根據(jù)權(quán)利要求1所述的樂(lè)譜識(shí)別方法,其特征在于,所述步驟f具體包括: Π.對(duì)水平粘連符頭的切割: 對(duì)步驟e中所述刪除尾橋的圖像里的連通域的外接矩形的水平寬度進(jìn)行判斷,取到外接矩形的水平寬度超過(guò)1.5 λ的連通域β的橫縱坐標(biāo),其中λ為譜線(xiàn)間距; 然后在所述連通域β所在的樂(lè)譜行上,搜索所述連通域β的外接矩形的左右端的橫坐標(biāo)所在位置處,經(jīng)過(guò)所述連通域β的豎直線(xiàn),并沿此豎直線(xiàn)對(duì)所述連通域β進(jìn)行切割,切割的高度為所述連通域β外接矩形的高度;f2.對(duì)豎直粘連符頭的切割: 對(duì)步驟e中所述刪除尾橋的圖像里的連通域按照樂(lè)譜間距切割; f3符頭師選: 將經(jīng)fl、f2步切割后得到的,所述刪除尾橋的圖像里的外接矩形的高大于λ,連通域面積和外接矩形面積的比值大于0.65的連通域判斷為符頭,其中λ為譜線(xiàn)間距;f4將符頭位置坐標(biāo)存放在鏈表C3中。
8.根據(jù)權(quán)利要求1所述的樂(lè)譜識(shí)別方法,其特征在于,所述步驟g具體包括: gl根據(jù)譜線(xiàn)的間距λ與小節(jié)線(xiàn)的長(zhǎng)度1.5*4* λ判斷樂(lè)譜的聲部數(shù); g2根據(jù)符干與符頭的坐標(biāo)的位置關(guān)系,按照從小到大的順序?qū)蓚€(gè)對(duì)應(yīng)的鏈表Cl、C3進(jìn)行匹配; g3根據(jù)符干與尾橋的坐標(biāo)的位置關(guān)系,按照從小到大的順序?qū)蓚€(gè)對(duì)應(yīng)的鏈表Cl、C2進(jìn)行匹配; g4根據(jù)g2和g3中匹配的結(jié)果判斷每一個(gè)音符的時(shí)值; g5根據(jù)譜線(xiàn)的位置判斷每一個(gè)音符的音高; g6綜合聲部數(shù)、音符時(shí)值、音高、以及其他樂(lè)譜符號(hào)的位置,生成musicXML文件。
【文檔編號(hào)】G06K9/54GK103646247SQ201310445379
【公開(kāi)日】2014年3月19日 申請(qǐng)日期:2013年9月26日 優(yōu)先權(quán)日:2013年9月26日
【發(fā)明者】蔡昭權(quán), 陳力豪, 黃翰 申請(qǐng)人:惠州學(xué)院