基于机器学习中KNN算法的车牌字符识别
? 小編的畢業設計做的就是車牌識別系統,主要包含車牌定位、字符分割、車牌識別模塊。先附上做的系統界面圖。
? 關于實現車牌定位和字符分割的算法,大家可以去網上找相關的論文,本文的重點是介紹利用機器學習的KNN算法實現簡單的字符識別。
? KNN算法全稱k-NearestNeighbor,是機器學習分類領域最簡單的算法之一。它的主要思想是將待預測的樣本和已知分類的樣本集中每一個樣本進行“距離計算”,選擇前K個“距離”最短的樣本,在這K個樣本中,分類次數出現最多的那個分類就被視為待預測樣本的所屬分類。
? “距離計算”因樣本而不同,車牌字符識別中的樣本當然是字符圖像。每一張字符圖像都是長寬相同的二值圖像,本文是16*32的二值圖像。這樣每一張字符圖像都和16*32的二維數組一一對應,并且數組的取值只能為0或1。為了方便比較,我們將16*32的二維數組排成長度為512的一維數組,則“距離計算”的公式如下。
? ? ? ? ? ? ? ? ? ? ? ? ?
? 其中xi為待識別字符圖像對應的一維數組的第i個值,xki為字符樣本集第k個樣本對應的一維數組的第i個值。
? 本文的字符集包含了省份簡稱、英文字母、數字,一共有3500張圖像。其中英文字符“A”的所有圖像如下。
? KNN算法有一個很明顯的缺點就是要想預測樣本的分類,就要把樣本和已知分類的樣本集中的所有樣本進行比較,這樣算法的時間復雜度就比較高。還有算法的實際效果很大程度上也取決于已知分類的樣本集質量。本文系統的字符識別的正確率只有80%左右,并且每次都要等待大約6、7秒才出結果。
? 車牌字符識別算法目前已經很成熟了,大家如果有興趣,可以在網上找一找大牛做的,小編只是拋磚引玉。
總結
以上是生活随笔為你收集整理的基于机器学习中KNN算法的车牌字符识别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab函数句柄介绍
- 下一篇: 解决wget下载过慢的问题