辨識路跑選手號碼牌系統 on Python2.7

最近收到一份需要從影像中辨識其數字與文字要求,並且希望達到六成以上的成功率;在動筆前我將這需求姑且先分成兩個部分,一個是中大張影像切割出單個文字(數字),第二部分則是將擷取出的文字做影像辨識。

複雜影像中做文字辨識 (OCR) 兩步驟:

  1. 從影像中抓取個別影像
  2. 將擷取出的影像作判斷

下面這是廠商提供範例照片,希望能判斷出00174的結果:

2048_b0e6b36fbe10f376d15111260bb2fd42.jpg

但其實一開始就遇到極大的問題,本來我認為只要用色相去做判斷即能抓到白底黑字的數字部分,但是發現部分影像會因為光影而有誤判的情形,

2048_b0e6b36fbe10f376d15111260bb2fd42.jpg因曝光部分搭配較黑的肌膚會影響判定

因為當時一直沒有想到良好的解決方法,所以決定先去做文字辨識的部分(逃避

所以我便開始探討文字辨識的文獻,後來發現對於車牌的影像辨識文獻相當豐富,所以我決定從這邊下手,以車牌辨識的觀念搭配參考網路上的程式文獻開始實作。

總之 我先貢上Source Code:Detect Number Of player

環境是 opencv2.4/python2.7/ubuntu 16

下方圖示運行結果:

綠框:檔案名(正解) 預測

紅框:成功率    84%

籃框:運行時間    40秒

再來是程式運作中間產物

 

2 Comments

Add a Comment

發佈留言必須填寫的電子郵件地址不會公開。