方案:
1、python+opencv+tesseract實現OCR,如果開源模型識別率不可接受,則需要訓練識別模型
2、通過HTTP將識別結果發送到web

需求:
1、识别pcb板上特定的丝印代码
2、丝印代码位置不确定,字体字号均不统一,可确定的是只有大写英文字母和数字
3、pcb板尺寸不超过300mm*300mm
4、通过定义url接口写数据库
5、识别正确率90%以上
結構設計: 由於字型大小有大有小,對於字型大小很小的需要用長焦鏡頭微距拍攝,對於字型大小很大的,則需要遠距離拍攝,因此攝像頭在豎直方向需要變化。 為了適應不同大小的電路板和不同位置的絲印碼,攝像頭也應該在水準方向上可以移動。
原型

嘗試了一下默認訓練模型,識別率不高,可能是因為應用場景中pcb印刷沒有統一標準,每種電路板上的絲印字體字型大小都不同導致的。 解決辦法只能是訓練一個適用於這個應用場景的模型。

2020.6.15.更新
對輸入圖片進行預處理(高斯模糊->灰度->二值化),在英文和數位上識別效果非常好,但是數碼管字體(我給起的名字)完全無法識別
思路:
1、針對數碼管字體進行訓練,然後將兩個訓練模型疊加使用(-l eng+dit)
2、嘗試一下卷積神經網路的訓練

2020.6.16. 基本功能實現,還有很大優化空間

2020.6.29. HTTP提交功能實現,並搭建運行環境(nginx+php)類比生產環境進行集成測試。

2020.7.5. 完成

2020.11.10. 版本更新 用PyQt5完成介面和人機交互

發表回復