最近收到一份需要從影像中辨識其數字與文字要求,並且希望達到六成以上的成功率;在動筆前我將這需求姑且先分成兩個部分,一個是中大張影像切割出單個文字(數字),第二部分則是將擷取出的文字做影像辨識。
複雜影像中做文字辨識 (OCR) 兩步驟:
- 從影像中抓取個別影像
- 將擷取出的影像作判斷
下面這是廠商提供範例照片,希望能判斷出00174的結果:
但其實一開始就遇到極大的問題,本來我認為只要用色相去做判斷即能抓到白底黑字的數字部分,但是發現部分影像會因為光影而有誤判的情形,
因曝光部分搭配較黑的肌膚會影響判定
因為當時一直沒有想到良好的解決方法,所以決定先去做文字辨識的部分(逃避
所以我便開始探討文字辨識的文獻,後來發現對於車牌的影像辨識文獻相當豐富,所以我決定從這邊下手,以車牌辨識的觀念搭配參考網路上的程式文獻開始實作。
總之 我先貢上Source Code:Detect Number Of player
環境是 opencv2.4/python2.7/ubuntu 16
下方圖示運行結果:
綠框:檔案名(正解) 預測
紅框:成功率 84%
籃框:運行時間 40秒
再來是程式運作中間產物
2 thoughts on “辨識路跑選手號碼牌系統 on Python2.7”