Contents ...
udn網路城邦
用VB作影像辨識→以車牌辨識為例
2020/08/06 08:53
瀏覽859
迴響0
推薦3
引用0

真的想寫影像辨識的書了!維持一貫的風格,我想寫的是你直接看完就能實作出堪用軟體的書。就像我以前在學校上課的模式,理論是否完備並不重要,能作出你想要的東西才是王道!這只是初步的構想,即使立即開工撰寫,到真的出版大概也是一年之後的事了!而且至少要等本文按讚數破百,才會確定有銷路吧?反應不熱烈就過幾年再說了!哈哈!

影像辨識的作法有太多種,介紹不完,我也不是全會。實務上,影像的雜訊、變數與狀況也是無限多種,例外處理方法也多到說不完。一個真正實用的商業化車牌辨識核心,像我目前賣的那個程式就有五六千行之多,真要洩漏天機全部講清楚,書本就會像字典一樣厚了!所以我打算用一個還算合理的案例,用我熟悉的方式一路解完一個題目,只介紹堪用的主要與必要辨識流程就好。

我的目的是想讓大家不要只在影像辨識的門外一直被嚇唬到不敢進來,其實文無定法,不是一定要K完幾本磚頭書,還要上好多艱難的課程,才能做出實用的影像辨識程式。我也是只用常識、直覺加上最多只是高中程度的數學,摸索個幾年就可以開公司了!等大家仔細看完我的書就會知道了!你也可以玩的!

我想真的出書後可能會氣死一票教影像辨識的教授,學生蹺課看我的書就把作業做好了!還會弄出一堆高中生玩家翻著我的書開始惡搞各種影像辨識!不好意思,這就是我希望看到的景象!如廣告詞說的:自己玩不如一起玩

一、影像辨識原理簡介

影像辨識就是從影像中辨識出你需要的資訊,基本過程就是先簡化影像資訊到方便作數位化處理的程度,但是當然不能將你要的目的資訊簡化掉!接著是在已經簡化的資訊中,篩選掉你不要的,抽取出你要的目標。抽出的資訊通常要拿來跟你要找的標準答案影像()作比對,所以必須有一個幾何過程,將從原圖中找到的目標,投影成與標準答案(字模)影像一樣大(正規化)。比對答案之後,根據符合程度你就可以判斷誰是正確答案?這樣就辨識成功囉!

二、抽出RGB資訊製作灰階影像

這是簡化影像資訊的第一步,正常數位影像中每一點都有RGB三原色的亮度資訊,但是根據你要找的目標,你未必需要這麼多資訊,你可以只選一種顏色亮度以灰階呈現做後續處理,或使用他們的平均值即可。正確選擇的簡化資訊不會降低你找到目標的機率,反而會增加成功機率還能減少運算時間。

三、作出無所不見的二值化影像

進一步的簡化資訊是讓灰階圖變成更簡單的黑白(二值化)圖,此時的學問在於不管目標實際的亮度為何,只要有明顯的亮度變化就要強制切開成為黑與白!判定黑白的門檻值,必須是隨目標周邊平均亮度或實際產生亮度跳躍的中間亮度而變化,絕對不能全圖使用單一常數,不然位於陰暗區的目標會全黑,位於明亮區的目標就全白,要找的目標就不見了,甭玩了!

四、畫輪廓找出所有可能的目標

先替所有黑白邊界描邊線做出輪廓圖,掃描檢視一一抽出所有輪廓點相連的群組作為一個一個的「目標」!再依據目標的大小或特性將不可能是我們要找的那些多餘目標篩選掉!此時主要目標大致就會呈現出來了。

五、找出你要的目標群組

接下來就是用更嚴格的標準「組織」出你要的目標群組,以車牌為例,就是車牌上的幾個字元會變成一組緊密且整齊排列的目標,你必須想想怎麼「認知」他們是一組「很像」車牌的目標?如何評估他們的集合比地面雜訊的組合「更像」車牌?因為目標已經過篩選,合格數目不會太多,過程很像打麻將,有整齊成排的目標就算胡牌了!

六、正規化你要辨識的車牌影像

找到正確的車牌字元目標組之後,他們的大小形狀當然不保證與做為比對標準的車牌影像模型完全一樣,所以要找出他們的四邊切線,再投影縮放變形到標準車牌的形狀大小如下,上面是灰階,下面是再次在此圖中做出的二值化圖。

七、字元辨識

正規化之後的車牌中,每個字的大小應該就跟我們建立的標準字模差不多大了!此時再設法從這個車牌影像中切出一個一個的字元目標就可以跟字模作比對了!每一個點的黑白相同就加分,不同時也可以減分,總之可以算出字元目標跟哪一個字模的符合度最高,就是它了!這些辨識出的字元拼起來就是車號了,答案是:EZ-5928,收工!

有誰推薦more
全站分類:心情隨筆 工作職場
自訂分類:不分類

限會員,要發表迴響,請先登入