OpenCV+Python識別車牌和字符分割的實現


本篇文章主要基於python語言和OpenCV庫(cv2)進行車牌區域識別和字符分割,開篇之前針對在python中安裝opencv的環境這里不做介紹,可以自行安裝配置!

車牌號檢測需要大致分為四個部分:

1.車輛圖像獲取

2.車牌定位、

3.車牌字符分割

4.車牌字符識別

具體介紹

車牌定位需要用到的是圖片二值化為黑白后進canny邊緣檢測后多次進行開運算與閉運算用於消除小塊的區域,保留大塊的區域,后用cv2.rectangle選取矩形框,從而定位車牌位置

車牌字符的分割前需要准備的是只保留車牌部分,將其他部分均變為黑色背景。這里我采用cv2.grabCut方法,可將圖像分割成前景與背景。分割完成后,再經過二值化為黑白圖后即可進行字符分割。由於圖像中只有黑色和白色像素,因此我們需要通過圖像的白色像素和黑色像素來分割開字符。即分別通過判斷每一行每一列的黑色白色像素值的位置,來定位出字符。

具體步驟如下:

1.灰度轉換:將彩色圖片轉換為灰度圖像,常見的R=G=B=像素平均值。

2.高斯平滑和中值濾波:去除噪聲。

3.Sobel算子:提取圖像邊緣輪廓,X方向和Y方向平方和開跟。

4.二值化處理:圖像轉換為黑白兩色,通常像素大於127設置為255,小於設置為0。

5.膨脹和細化:放大圖像輪廓,轉換為一個個區域,這些區域內包含車牌。

6.通過算法選擇合適的車牌位置,通常將較小的區域過濾掉或尋找藍色底的區域。

7.標注車牌位置

8.圖像切割和識別

通過代碼實現:


 

運行效果如圖所示

車牌定位並進行處理


 

車牌分割如圖所示


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM