Osheep

时光不回头,当下最重要。

实时仪表盘识别

概述

通过摄像头采集现场图片,拍照各种模拟仪表(指针和Led数码和指示灯)。程序识别出 指针读数,数码读数和指示灯状态,然后把数据发物联网平台上

《实时仪表盘识别》

我们打造的we.iot平台

01. 效果

《实时仪表盘识别》

gif效果

02. 描述

  1. 采集摄像头的图像
  2. 采用opencv对图像的模拟仪表和数字LED灯部分,进行识别和标注
  3. 识别到模拟仪表盘图像,二值化后做分析处理,找到指针角度,并转换为数值
  4. 识别LED数值图像,做OCR识别,并转换成数值
  5. 通过mqtt协议发送给物联网平台,显示到物联网的仪表盘上

03. 代码实现

这个过程较复杂,几段代码描述不清,我还在整理中,部分因为在做商业项目,也无法开源。以后整理好后,我会发到我的github上,分享给大家吧。 今天就简单说说吧。

  1. 客户端采用python编程,使用mqtt协议和 物联网服务器通讯,发送数据。使用了 paho.mqtt的库 。
  2. 图像处理采用了opencv,第一步先做图像的检测和分割,找到仪表盘和LED灯,第二部模拟仪表盘二值化后,很容易找到指针,再算出角度,对应出数值出来这个并不难。
  3. LED的OCR识别,这个因为LED的图像相对很标准,所以采用深度学习的图像分类算法,做训练,把训练集保存成模型,再利用模型进行识别,这样也挺简单,效率也很高。

04. 结论

通过搭建这个平台,在实验室环境下取得了不错的识别效果,以后考虑在工业领域采集现场的图像信息,通过计算机视觉方式再加上一定的深度学习技术,可以大幅改善传统的工业数据采集领域的一些空白,希望我们的技术有一点用武之地。

05. 运行环境

我在开发环境下做的,基本上搭建在我的mac本上,网络摄像头采用了海康威视的(不到200元的网络摄像机),理论上是跨平台的。
开发工具:
python2.7
opencv2.4
TensorFlow1.0
paho.mqtt

06. 我的标签

计算机软件工程师,自动化专业,金世达科技创始人之一,目前带领技术研发团队专注工业物联网领域的人工智能技术应用,欢迎大家一起探讨。
点赞