4

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

在此处输入图像描述

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

  • 这是更清洁的图像之一。许多图像具有静态。我可以忽略(让程序说“ERR”)带有太多静态的图片。

  • 相机有一个固定支架,但每个表盘的中间(亮银色点)在照片之间上下移动(因为垂直同步不同?)。表盘中心(因此整个图片)也在图片之间左右移动一点,但幅度不大。

  • 更多图片和一些代码: https ://github.com/barrycarter/bcapps/tree/master/ELECREAD

  • 到目前为止我的方法:

    • 将图片分成单独的表盘。

    • 找到每个表盘的中心(即“最亮点”)

    • 查看围绕中心具有不同半径的圆圈,并找到每个圆圈的最暗角度。

    • 用你发现的最暗的角度做一些事情(还不确定是什么)来获得读数。

  • 我知道有些设备可以监视您的电表并记录/广播他们看到的“周期”数(每个周期 = 大多数电表上的 7.5 瓦时)。然而,这些设备价格昂贵,如果错过了一些读数,就无法“赶上”。

有什么想法吗?

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

4

1 回答 1

1

看看opencv

OpenCV(开源计算机视觉)是一个用于实时计算机视觉的编程函数库。

http://opencv.org/

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

于 2012-09-26T18:09:34.450 回答