1. 程式人生 > >利用MSER演算法提取影象區域(車牌區域)的OpenCV程式碼~

利用MSER演算法提取影象區域(車牌區域)的OpenCV程式碼~

我的部落格中前面已經寫了兩種方法來實現車牌區域的提取了,大家可以參看下面這篇博文

MSER的全稱是maximally stable extremal region,翻譯過來為“最穩定極值區域”,extremal 意思的極值的意思。

下面說下這種方法的大致思路,如果要學習具體的原理,可以參考論文J.Matas. “Robust Wide Baseline Stereo from Maximally Stable Extremal Regions”,BMVC2002。

MSER提取過程
1.使用一系列灰度閾值對影象進行二值化處理
2.對於每個閾值得到的二值影象,得到相應的黑色區域與白色區域
3.在比較寬的灰度閾值範圍內保持形狀穩定的區域就是MSER

,判斷標準為dA/dt
David Nister等人於2008年在論文“Linera Time Maximally Stable Extermal Regions”對J.Matas提出的MSER演算法進行了改進,使其在時間複雜度方面比原演算法要小得多,OpenCV中提供的MSER模組演算法就是利用該演算法實現的。David Nister等人提出的演算法思路如下(下面所列的每一步具體是怎麼回事,請參看原論文):

①畫素點排序→②極值區域生成→③穩定區域判定→④區域擬合→⑤區域歸一化

下面分享利用MSER演算法提取車牌區域的OpenCV程式碼~希望對大家有幫助,程式碼先使用MSER演算法提取出影象的區域,然後對這些區域進行形態學閉操作,使其成較為完整的區域,再對這些區域求外接矩形,根據外接矩形的引數去判斷是否是車牌區域。

注意:OpenCV版本我從3.0.0換到了2.4.13,原因是因為最近我在實現SIFT演算法時,發現3.0.0中沒有nonfree模組!而SIFT和SURT都是包含在nonfree模組中的!

//OpenCV版本opencv2.4.13
//程式碼請搜尋公眾號"qxsf321",關注後獲取作者QQ號然後新增好友獲取!
//程式碼請搜尋公眾號"qxsf321",關注後獲取作者QQ號然後新增好友獲取!
//程式碼請搜尋公眾號"qxsf321",關注後獲取作者QQ號然後新增好友獲取!

執行結果如下圖所示

值得注意的是,在進行形態學閉操作時,一定要根據具體的影象來調整矩形窗的大小,比如下面這幅圖,就需要把窗的大小由(1,20)調整到(1,30)才能檢測出結果,相關執行截圖如下: