方案:1、python+opencv+tesseract实现OCR,如果开源模型识别率不可接受,则需要训练识别模型2、通过http将识别结果发送到web 需求: 1、识别pcb板上特定的丝印代码 2、丝印代码位置不确定,字体字号均不统一,可确定的是只有大写英文字母和数字 3、pcb板尺寸不超过300mm*300mm 4、通过定义url接口写数据库 5、识别正确率90%以上 结构设计: 由于字号有大有小,对于字号很小的需要用长焦镜头微距拍摄,对于字号很大的,则需要远距离拍摄,因此摄像头在竖直方向需要变化。为了适应不同大小的电路板和不同位置的丝印码,摄像头也应该在水平方向上可以移动。 https://www.iamlouis.online/wp-content/uploads/2020/05/2020-05-05_14-58-39.mp4 原型 尝试了一下默认训练模型,识别率不高,可能是因为应用场景中pcb印刷没有统一标准,每种电路板上的丝印字体字号都不同导致的。解决办法只能是训练一个适用于这个应用场景的模型。2020.6.15.更新对输入图片进行预处理(高斯模糊->灰度->二值化),在英文和数字上识别效果非常好,但是数码管字体(我给起的名字)完全无法识别思路:1、针对数码管字体进行训练,然后将两个训练模型叠加使用(-l eng+dit)2、尝试一下卷积神经网络的训练 2020.6.16. 基本功能实现,还有很大优化空间https://www.iamlouis.online/wp-content/uploads/2021/03/pcbocrver1.mp4测试工具python源码 2020.6.29. http提交功能实现,并搭建运行环境(nginx+php)模拟生产环境进行集成测试。https://www.iamlouis.online/wp-content/uploads/2020/06/2020-06-29_06-51-12.mp4 2020.7.5. 完成 2020.11.10. 版本更新用PyQt5完成界面和人机交互 https://www.iamlouis.online/wp-content/uploads/2020/11/2020-11-10_00-49-52.mp4