如何“OCR”我的电表图片?

下面是我的电表读数52425.5(大致):

什么程序/技术可以帮助我自动读取仪表?笔记:

>这是一个更清洁的图像.许多图像都有静电.我可以
w /忽略(让程序说“ERR”)图片w /太多静态.
>相机有固定安装,但每个表盘的中间(
明亮的银点)在图片之间上下移动(因为
不同的垂直同步?).拨号中心(因此整个画面)
也在图片之间左右移动一点,但不是
许多.
>更多图片和一些代码:
https://github.com/barrycarter/bcapps/tree/master/ELECREAD
>到目前为止我的方法:

>将图片分成单个拨盘.
>找到每个表盘的中心(即“最亮点”)
>查看中心周围不同半径的圆圈并找到
每个圆圈最暗的角度.
>用最黑暗的角度做一些事情(不知道还有什么)
找到一个阅读.

>我知道有些设备可以观察您的仪表和仪表
记录/广播他们看过多少“周期”(每个周期= 7.5
大多数米的瓦时).但是,这些设备价格昂贵
如果他们错过了几个读数,就无法“赶上”.

有什么想法吗?

更新:它是完美的FAR,但https://github.com/barrycarter/bcapps/blob/master/ELECREAD/bc-elec-read.pl现在正确读取100个测试图像中的6个,错误地读取100个测试图像中的8个,并拒绝其他86个测试图像(包括下面的一个)为“不可读”.在实际操作中(当知道以前可靠的读数时),它确实好一点.

最佳答案 看看opencv

OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision.

http://opencv.org/

http://opencv.willowgarage.com/wiki/

点赞