采集的一张样图:
www.littlestone.net/downloads/test0.bmp原始问题:识别出标有1、2......的长刻度线,以及长、短两根指针的位置(短指针可暂不考虑)
我对问题的分析:
    1. 要凭空识别长刻度线很有难度,干挠太多,若能够识别出仪表的圆心,根据圆心到长指针内端点的长度(此值基本固定)关系来判,效果会好很多。
    2. 识别圆心:若能识别出长指针区域,则圆心较易判定(中空的灰白色很明显),所以关键一步是要能识别出长指针区域。从图像上来看,长指针的几何图像特征还是很明显的,图像区分度也不错,不知道各位有没有什么好的想法能够高效地识别到这个区域?我一时是没有想到:(当然,更加欢迎大家提供自己的与我完全不同的识别思路.
热烈欢迎跟贴讨论:)

解决方案 »

  1.   

    为方便大家分析图像,我把inside vc++中的例子ex11c改了一下,便于查看图像各区域的像素值(为了简便,代码中我用了一些固定值,故只针对此图有效):
    www.littlestone.net/downloads/ex11c.exe
      

  2.   

    to howtotell(从何谈起): 在这个项目中不能这么做,实际上这个软件是要在图像采集中动态识别出长指针与某长刻度重合的时刻(长指针会转动).并且是要批量识别.
      

  3.   


    如果不怕麻烦,建立一个模型啊。感觉hough变换方法应该可以为主要方法奏效(但hough的速度值得怀疑)。但运行速度需要仔细考虑。作成产品不那么容易。
      

  4.   

    不知道算不算模式识别,个人认为要做这样的识别先要做傅立叶转换,
    然后利用神经网络进行学习,学习够了,才能够识别出,还得进行一些图像位置转换
    这篇是文字识别的,跟图像识别差不多,
    http://www.vckbase.com/document/viewdoc/?id=1187
      

  5.   

    我有一个方法,不知道是否可行
           
        a) 要求采样图像时仪表大概居于正中间(这不是很难实现),然后开始采样
        b)将图像灰度化
        c)根据前面条件(a)下采样图像的特点,从中心点向四周画射性,在这些射线上依据灰度的变化判断是否进入了白色区域(背景位置,灰度很低,通过阀值判断是否进入),然后当发现已经进入背景后,一定条件后(滤掉一些杂波),判断出表盘内的哪个大环所在位置
         这一步是关键
        d)好了,在 “表盘内的哪个大环”附近检索一些点阵,看是否存在这样一个位置,在环的两端都存在那种灰度很低(接近0,黑色)的比较窄的位置,如果找到,^_^,成功了
      

  6.   

    what is "投影" "剪影"?  how?