1.預處理
先將精確定位後的車牌候選區轉換為灰度圖, 並將白底黑字和黃底黑字候選區灰度取反, 使得所有候選區域字元點灰度高, 背景點灰度低。然後使用區域性二值化演算法將灰度圖轉換為二值圖。
2. 去除鉚釘
為了去除上下邊框線和內側粘連的鉚釘對字元分割的影響, 按與公式 (4) 同理的方法計算二值圖水平積分投影的平移曲線fh (x) , 再提取fh (x) 的最寬正區間mpi, 將其下、上界作為字元的上下邊界。
3.豎直投影谷值分析
首先在去除鉚釘後的二值圖上計算豎直積分投影的平滑曲線p (x) , 再搜尋p (x) 的區域性最小 (波谷) 值, 得到乙個波谷位置序列v0, v1, …, vn。然後將相鄰兩個波谷vi和vi+1分別作為左右邊界提取出一組矩形區ri, 並根據下列規則對矩形序列ri進行刪除、**、合併和調整大小。
4.模板匹配
根據車牌的字元排列規則, 引入下圖所示的模板, 並使用該模板與豎直積分投影曲線匹配, 計算最佳匹配位置, 從而得到字元分割的準確結果。模板與豎直積分曲線的匹配程度由匹配偏移量mt決定:
經過預處理後的車牌影象都是黑底白字的二值化影象。作其垂直投影圖, 定義特徵值tz的取值公式為:
定義了特徵值後, 垂直分割過程分成向右分割、向左分割兩個相同的步驟。其中向右分割演算法的程式流程圖描述如圖2所示。這個流程圖2描述了從中間分割點sep開始向右分割的過程。向左分割只是掃瞄方向相反,演算法步驟與此過程完全相同。經過向右分割、向左分割兩個步驟之後就完成了車牌影象的垂直字元分割。
垂直分割以後的字元上下位置均或多或少有些空間, 有些還包含著車牌鉚釘造成的白點干擾。水平分割過程進一步準確地定位了字元的上下邊界位置, 同時還去除了鉚釘或汙點等造成的干擾。
1.車牌影象的預處理
①彩色空間轉換
hls (色度、亮度、飽和度) 空間能夠體現出人類視覺特徵, 且經變換後的影象特徵明顯, 易於進行邊緣檢測、分割和目標識別處理。其中h表示不同的顏色, l表示顏色的明暗程度, s表示顏色的深淺。
色度計算方法:①將顏色的rgb分量排序, 設結果為c1≥c2≥c3 (ci∈) ;②令d1~d3分別為d1=m/6, d2=m/2, d3=5m/6, 其中m為規定的色度最大值, 令l= (d2-d1) /2;③計算偏移量offset=l· (c1-c2) / (c1-c3) ;④根據顏色的排序結果, 按表1計算色度值h。
亮度計算方法:l=0.3r+0.59g+0.11b
飽和度計算方法:s= (1-c3/c1) ·m
②邊緣檢測
經典的邊緣提取方法是考察影象的每個畫素在某個鄰域內灰度的變化, 利用邊緣鄰近一階或二階方向導數變化規律, 用簡單的方法檢測邊緣。這種方法稱為邊緣檢測區域性運算元法。
robert邊緣檢測運算元是一種利用區域性差分運算元尋找邊緣的運算元。它由下式給出:
2.分割
①二值化
二值化的關鍵在於閾值t的確定。如果閾值定得過高, 偶然出現的物體點就會被認作背景;如果閾值定得過低, 則會發生相反的情況。
代求影象最佳分割閾值的演算法:
a.求出影象中的最小和最大灰度值zmin和zmax, 令閾值初值
t0=(zmin+zmax)/2
b.(2) 根據閾值tk將影象分割成目標和背景兩部分, 求出兩部分的平均灰度值zo和zb:
c.求出新的閾值:
t k+1=(zo+zb)/2
d.如果tk=tk+1, 則結束, 否則k←k+1, 轉向b。
vue watch 方法學習及應用
最近做了個 調查問卷,使用vue將問卷資料 model層,即data裡的資料 渲染至 view裡面,使用者在頁面上操作使得view改變,view層通過viewmodel將資料同步至model,反過來model層資料改變通過viewmoel渲染資料至view 我所理解的mvvm 相比jqery傳統do...
String字串轉多種型別及多種方法的應用
public class stringdemo3 9 boolean equals object obj 判斷字串裡面完全相等 返回true 不區分大小寫的比較 public static void fun9 8 將字串 轉字元陣列 public static void fun8 7 將字串轉位元組...
演算法學習篇 17 比較字串
比較兩個字串a和b,確定a中是否包含b中所有的字元。字串a和b中的字元都是 大寫字母 樣例給出 a abcd b acd 返回 true 給出 a abcd b aabc 返回 false 1 先將字串轉換為陣列並排序 2 進行一些固定的判斷,例如陣列b的長度大於a的長度則返回false,兩個陣列都...