解決方案:
1. Python + opencv + tesseract 以實作 OCR。如果開源模型的識別率無法接受,則需要訓練該識別模型
2. 透過 HTTP 將識別結果傳送到網路

要求:
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 介面與人機互動已完成

發表回覆