发明名称 基于图像处理的水位监测系统及方法
摘要 本发明公开了一种基于图像处理的水位监测系统及方法,主要解决现有技术不能进行水位自动监测的问题。它包括水位标尺、水位图像处理模块、无线通信模块和中心管理服务器模块,系统的工作原理是首先利用水位标尺对水位进行标记,并通过摄像头采集水位标尺标记的水位图像,水位图像处理模块再对水位图像中的水位标尺进行自动定位、倾斜校正和识别得到水位数据,并将水位数据通过无线通信网络发送到无线通信模块,然后无线通信模块将接收到的水位数据发送到中心管理服务器模块,中心管理服务器模块将接收到的水位数据保存到计算机数据库中,实时绘制当前水位曲线,超出预设水位时发出报警信息,从而实现水位的自动监测。
申请公布号 CN102494733B 申请公布日期 2013.09.25
申请号 CN201110412610.9 申请日期 2011.12.12
申请人 西安电子科技大学 发明人 卢朝阳;李静;姜兵;汪文芳;李乔
分类号 G01F23/22(2006.01)I;G06T5/00(2006.01)I 主分类号 G01F23/22(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;朱红星
主权项 1.一种基于图像处理的水位监测方法,包括如下步骤:(1)采集一帧水位图像,图像大小为240*320,并将采集到的彩色图像转化为灰度图像,彩色图像灰度化公式为:Gray=R<sup>*</sup>0.299+G<sup>*</sup>0.587+B<sup>*</sup>0.114,其中Gray为得到的灰度图像的灰度值,R、G、B分别为彩色图像红色、绿色、蓝色分量;(2)对灰度图像用连通域特征分析和数学形态学处理的方法定位出水位标尺坐标:(2a)用二维高斯函数的一阶导数对灰度图像进行平滑处理;(2b)对平滑后的灰度图像进行灰度变换,得到输出图像灰度值g(x,y):<maths num="0001"><![CDATA[<math><mrow><mi>g</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mfrac><mi>c</mi><mi>a</mi></mfrac><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>,</mo><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&lt;</mo><mi>a</mi></mtd></mtr><mtr><mtd><mfrac><mrow><mi>d</mi><mo>-</mo><mi>c</mi></mrow><mrow><mi>b</mi><mo>-</mo><mi>a</mi></mrow></mfrac><mrow><mo>(</mo><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>-</mo><mi>a</mi><mo>)</mo></mrow><mo>+</mo><mi>c</mi><mo>,</mo><mi>a</mi><mo>&le;</mo><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&le;</mo><mi>b</mi><mo>,</mo></mtd></mtr><mtr><mtd><mfrac><mrow><msub><mi>M</mi><mi>g</mi></msub><mo>-</mo><mi>d</mi></mrow><mrow><msub><mi>M</mi><mi>f</mi></msub><mo>-</mo><mi>b</mi></mrow></mfrac><mrow><mo>(</mo><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>-</mo><mi>b</mi><mo>)</mo></mrow><mo>+</mo><mi>d</mi><mo>,</mo><mi>b</mi><mo>&le;</mo><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>M</mi><mi>f</mi></msub></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>f(x,y)为输入图像灰度值,x,y为图像的像素坐标,a、b为输入图像需要灰度变换的区间端点,c、d为区间[a、b]灰度变换后的区间端点,M<sub>g</sub>为输出图像的灰度级数,M<sub>f</sub>为输入图像的灰度级数;(2c)用Sobel边缘检测算子对灰度变换后的图像进行卷积,求得图像的边缘梯度图像;(2d)对边缘检测后的梯度图像用迭代法确定出二值化阈值T,根据阈值T利用如下公式对梯度图像进行二值化:<maths num="0002"><![CDATA[<math><mrow><mi>T</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close='' separators=''><mtable><mtr><mtd><mn>0</mn><mo>,</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&lt;</mo><mi>T</mi></mtd></mtr><mtr><mtd><mn>255</mn><mo>,</mo><mi>T</mi><mo>&le;</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&le;</mo><mn>255</mn></mtd></mtr></mtable><mo>,</mo></mfenced></mrow></math>]]></maths>i、j为图像坐标,I(i,j)为输入图像边缘梯度值,T(i,j)为输出图像二值化值;(2e)对二值化图像均进行水平方向和垂直方向的图像腐蚀和膨胀处理;(2f)用8-邻域连通域分析法提取腐蚀膨胀后的图像各连通域宽、高、宽高比、边缘密度以及水平方向和竖直方向的黑白像素变化频数参数,并得到各连通域外接矩形的顶点坐标;(2g)设置水位标尺连通域的参数满足条件:20<W<100, H>50,<img file="FDA00003508450200021.GIF" wi="389" he="130" /><img file="FDA00003508450200022.GIF" wi="401" he="130" />2<W<sub>f</sub><6, H<sub>f</sub>>10 ,其中W、H、wh、N、Ed、Area分别为水位标尺连通域宽、高、宽高比、白色像素数、边缘密度、面积,W<sub>f</sub>、H<sub>f</sub>分别为水平方向和竖直方向的黑白像素变化频数;(2h)用步骤(2g)中所设的条件对步骤(2f)中得到的连通域参数进行限制,将不满足条件的判为非水位标尺连通域,将满足条件的判为水位标尺连通域,该水位标尺连通域外接矩形顶点坐标,被定为水位标尺位置;(3)根据定位得到的水位标尺位置从步骤(1)中的灰度图像中分割出水位标尺图像,利用最小矩形面积法对水位标尺进行倾斜校正:(4)对校正好的水位标尺图像用边缘检测和k均值聚类算法计算出水位:(4a)对校正好的水位标尺图像进行中值滤波;(4b)对滤波后的图像进行水平边缘检测提取水平方向线段;(4c)对边缘检测后的线段进行图像细化处理;(4d)用欧式距离公式计算细化处理后图像中相邻线段的距离,计算出的线段距离集合用D表示;(4e)用k均值聚类算法对集合D中的元素进行聚类分析,去除细化处理后图像中的非刻度线并得到水位标尺左侧刻度线间隔数Ln和右侧刻度线间隔数Rn;(4f)利用如下公式计算得到水位高度L:L=10*(m/6)+n,其中,<maths num="0003"><![CDATA[<math><mrow><mi>m</mi><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>64</mn><mo>-</mo><mn>3</mn><mi>Ln</mi><mo>+</mo><mi>Ln</mi><mo>%</mo><mn>2</mn><mo>,</mo></mtd><mtd><mi>Ln</mi><mo>=</mo><mi>Rn</mi><mo>+</mo><mn>2</mn></mtd></mtr><mtr><mtd><mn>62</mn><mo>-</mo><mrow><mo>(</mo><mi>Ln</mi><mo>+</mo><mi>Rn</mi><mo>)</mo></mrow><mo>/</mo><mn>4</mn><mo>*</mo><mn>6</mn><mo>-</mo><mrow><mo>(</mo><mi>Ln</mi><mo>+</mo><mi>Rn</mi><mo>)</mo></mrow><mo>%</mo><mn>4</mn><mo>*</mo><mn>2</mn><mo>,</mo></mtd><mtd><mi>Ln</mi><mo>=</mo><mi>Rn</mi><mo>+</mo><mn>1</mn><mo>,</mo></mtd></mtr><mtr><mtd><mn>61</mn><mo>-</mo><mn>3</mn><mi>Rn</mi><mo>+</mo><mi>Rn</mi><mo>%</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>,</mo></mtd><mtd><mi>Ln</mi><mo>=</mo><mi>Rn</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mi>m</mi><mo>%</mo><mn>6</mn><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn><mo>,</mo></mtd><mtd><mi>m</mi><mo>%</mo><mn>6</mn><mo>=</mo><mn>1</mn></mtd></mtr><mtr><mtd><mn>3</mn><mo>,</mo></mtd><mtd><mi>m</mi><mo>%</mo><mn>6</mn><mo>=</mo><mn>2</mn></mtd></mtr><mtr><mtd><mn>5</mn><mo>,</mo></mtd><mtd><mi>m</mi><mo>%</mo><mn>6</mn><mo>=</mo><mn>3</mn></mtd></mtr><mtr><mtd><mn>6</mn><mo>,</mo></mtd><mtd><mi>m</mi><mo>%</mo><mn>6</mn><mo>=</mo><mn>4</mn></mtd></mtr><mtr><mtd><mn>8</mn><mo>,</mo></mtd><mtd><mi>m</mi><mo>%</mo><mn>6</mn><mo>=</mo><mn>5</mn></mtd></mtr></mtable></mfenced><mo>.</mo></mrow></math>]]></maths>
地址 710071 陕西省西安市太白南路2号