車牌識別程式

2021-09-24 16:00:32 字數 2776 閱讀 5833

*******************車牌識別程式  僅供學習使用*******

**說明:此程式識別的車牌是在網上隨便找的,此程式中的二值化、形狀選擇和形態學處理的blob分析三步曲

**並不具有普遍性。因為位置、光照、車牌清潔狀態等都會對車票識別造成很大的影響。只有使用mlp/svm/cnn

**等人工智慧演算法訓練的程式,才具有比較高的普適性。

**1.採集影象

read_image (image, 'f:/7.機器視覺/halcon/c#聯合halcon開發/chepaishibie1.jpg')

dev_close_window ()

dev_open_window (0, 0, 512, 512, 'black', windowhandle)

*2.車牌定位及校正

**顏色轉換

decompose3 (image, image1, image2, image3)

trans_from_rgb (image1, image1, image1, hue, saturation, intensity, 'hsv')

*二值化

threshold (intensity, regions, 0, 59)

connection (regions, connectedregions)

*形狀選擇

select_shape (connectedregions, selectedregions, 'area', 'and', 4908.26, 8944.95)

**形態學處理

union1 (selectedregions, regionunion)

dilation_rectangle1 (regionunion, regiondilation, 11, 11)

fill_up (regiondilation, regionfillup)

**角度變換

orientation_region (regionfillup, phi)

area_center (regionfillup, area, row, column)

vector_angle_to_rigid (row, column, area, row, column, area, hommat2d)

affine_trans_image (image, imageaffintrans, hommat2d, 'constant', 'false')

affine_trans_region (regionfillup, regionaffinetrans, hommat2d, 'nearest_neighbor')

*3.摳圖+字元識別

reduce_domain (imageaffintrans, regionaffinetrans, imagereduced)

rgb1_to_gray (imagereduced, grayimage)

invert_image (grayimage, imageinvert)

threshold (imageinvert, regions1, 56, 159)

connection (regions1, connectedregions1)

select_shape (connectedregions1, selectedregions1, ['area','height'], 'and', [206.42,27.248], [426.61,40.275])

**給識別出來的字串進行排序,'character'指的是按字串的形式輸出

sort_region (selectedregions1, sortedregions, 'character', 'true', 'row')

*4.字元識別

read_ocr_class_mlp ('document_0-9a-z_norej.omc', ocrhandle)

do_ocr_multi_class_mlp (sortedregions, imageinvert, ocrhandle, class, confidence)

*5.顯示

smallest_rectangle1 (sortedregions, row1, column1, row2, column2)

count_obj (sortedregions, number)

dev_display (image)

for index := 0 to |class| - 1 by 1

**每個數字的y座標一樣,x座標與列印的日期對應數字的x座標值-3

disp_message (windowhandle, class[index], 'image', 210, column2[index] - 3, 'green', 'false')

endfor

程式原圖如下:

執行結果如下:

程式開頭講過,blob分析只能適用於條件穩定且合適的情況。一旦條件發生變化,很有可能出現錯識別的情況。當然,人工智慧演算法也不是100%的準確,但是人工智慧演算法起碼可以降低開發和除錯的難度,blob分析是需要大量的打光測試和**調整才能找到暫時合適的方法。而人工智慧演算法可以一勞永逸,雖然設計演算法的時候有一定的難度,但是,一旦成功就可以很高效地移植到其它專案中。這種輕鬆不是說**量或者工作量少,而是後期的維護成本很低,非標裝置行業的人力成本和出差費用是十分昂貴的。

車牌識別程式 安卓 iOS手持機掃瞄車牌識別程式

車牌識別的程式常見的應用有pc端車牌識別 嵌入式端車牌識別 移動端手持機掃瞄車牌識別的程式,但是最近大家也肯定有聽到過android ios端的手持機掃瞄車牌識別的程式,而且發展迅猛,很多應用場景都有它的身影,例如 警務通 車輛保險 佔道停車管理 停車場管理雲停車等應用技術。手持機掃瞄車牌識別的程式...

Opencv SVM車牌識別

車牌定位演算法在車牌識別技術中占有很重要地位,乙個車牌識別系統的識別率往往取決於車牌定位的成功率及準確度。車牌定位有很多種演算法,從最簡單的來,車牌在影象中一般被認為是長方形,由於影象攝取角度不同也可能是四邊形。我們可以使用opencv中的例項 c program files opencv samp...

HyperLPR車牌識別

本文基於hyperlpr進行修改,完整 參考 hyperlpr是乙個使用深度學習針對對中文車牌識別的實現,與較為流行的開源的其他框架相比,它的檢測速度和魯棒性和多場景的適應性都要好於目前開源的框架,hyperlpr可以識別多種中文車牌包括白牌,新能源車牌,使館車牌,教練車牌,武警車牌等。使用的目標檢...