温度表刻度的读取(一个图像处理实例)
上次在Q群里面有个网友分享了这么一张图片:
现有条件为:摄像头不动,钟表位置不动,要求独处刻度。于是花了几个小时的时间实现了一下。下面贴一下效果图:
灰度化后
边缘提取后并找出圆心
提取以圆心为中心,小于半径的矩形
二值化
以圆心为标准提取相关连通域
做到这一步之后什么度数什么的都出来了,后面留给大家自己去完善吧。现在详细说一下具体步骤吧:
首先对彩色图片进行灰度化,之后对灰度图片进行canny提取边缘,然后用查找圆的方法对边缘图像查找最大圆并确定圆心和半径。
之后用圆心作为矩形的中心,任取一个小于半径的距离(为了方便处理,建议尽量取小一点,使外围干扰少一点),之后对取出来的灰度图像二值化,可以看出有蛮多不相关的东西在,这时候可以使用一下连通域标记,把不同的连通域标记一下,之后以圆心位置的连通域标记为提取标准,提取出相关的连通域(八连通的)。大体流程就这样子了。源代码就不贴了,由于写的时候比较仓促,源代码没有注释而且比较乱,如果想要的话,可以留言留下邮箱,发给您。当然,假如有说得不明白的地方或您有更好的想法的话,欢迎留言,我们交流一下。