一种基于云计算的河面冰情分析方法
【技术领域】
[0001] 本发明涉及物联网、云计算和大数据的综合应用技术领域,具体地说是一种实用 性强、基于云计算的河面冰情分析方法。
【背景技术】
[0002] 由于目前每年冰灾给我国北方的河流区域造成巨大的人员伤亡,设备和建设物损 失严重,以往人们采用的防灾方式是通过人员每天巡视河面,人为观察和判断,这样不仅造 成人员劳动力浪费,并且人为观察和判断是有误差的,还需要巡河的人员必须要有丰富的 河面冰清观察经验,即便是这样,由于暗冰等多因素的存在也无法准确的判断出冰清的发 展趋势。基于此,现提供一种基于云计算的河面冰情分析方法,该方法采用云计算、大数据、 边缘检测算法、图像灰度化算法、图像二值化算法和轮廓检测算法等技术设计方法实现的 河面冰情分析算法。可以通过分析历史数据,气象信息,跨越整体河面的信息以及暗冰等多 种数据综合计算和分析。实现数据全面,预判准确的河冰分析决策系统。
【发明内容】
[0003] 本发明的技术任务是针对以上不足之处,提供一种实用性强、基于云计算的河面 冰情分析方法。
[0004] -种基于云计算的河面冰情分析方法,其实现过程为:
[0005] 首先在河面上部署安装摄像头;
[0006] 安装嵌入式图像分析软件,实时的在现场分析河面图像的数据;
[0007] 部署云平台中冰情分析系统,将拍摄的图片进行8位的灰度值图像处理,处理成灰 度图;
[0008] 将图片进行二值化处理,也就是将图像上的点的灰度值置为0或者255;
[0009] 然后对图像进行边缘检测算法处理;
[0010]根据边缘检测的处理结果,进行轮廓检测计算;
[0011]将检测结果发送到云计算平台,云计算平台根据监测结果进行分析和处理。
[0012] 所述边缘检测算法处理是指通过设置参数阀值和矩阵,采用sobel算子与高斯拉 普算子进行边缘处理。
[0013] 所述轮廓检测计算得出的结果包括:计算出冰块的数量、各个冰块的形状、冰块的 面积、冰块的厚度、冰块的密度、冰块的最大面积、冰块群的大小和整个河面宽度的百分比, 并通过GPRS实时的传入云计算平台中。
[0014] 所述云计算平台根据最新监测情况,进行大数据分析,环比和同比进行数据对照 和分析,并根据设置的阀值,进行业务处理,通过这些业务处理后,云计算平台智能控制设 备的工作状态,该工作状态包括:拍摄具体地点,增加参数值和阀值,来确切的得到当前河 面情况;联动整个河面布防的摄像头,进行联合拍照,进行整体河面的数据分析;根据气象 信息、历史信息和算法模型,产生报表和报警信息。
[0015] 本发明的一种基于云计算的河面冰情分析方法,具有以下优点:
[0016] 本发明通过云计算、大数据、边缘检测、图像灰度化、图像二值分化和轮廓检测设 计方法,实现河面冰情分析算法实现,是一个实现物联网终端设备通过云计算平台管理和 控制的整合的方法,可以应用到各种应用系统中,是一种十分安全高效的冰清分析的实现, 还是系统结构设计方面;实用性高,易于推广。
【附图说明】
[0017] 附图1为本发明的实现示意图。
【具体实施方式】
[0018] 下面结合附图和具体实施例对本发明作进一步说明。
[0019] 本发明提供一种基于云计算的河面冰情分析方法,如附图1所示,其实现过程为:
[0020] 部署和安装摄像头,最好是河面分布均匀、关键河域和危险地段增加布防。
[0021] 安装嵌入式图像分析软件,实时的在现场分析河面图像的数据。
[0022] 然后部署云平台中冰情分析系统,拍摄的图片,进行8位的灰度值图像处理,处理 成灰度图。
[0023] 在保证整幅图像的整体和局部的色彩和亮度等级的分布和特征的前提下,灰度图 的计算量变得少一些。为了整个图像呈现出明显的黑白效果,我们需要再将图片进行二值 化处理,也就是将图像上的点的灰度值置为0或者255。该步骤中使用的是实现RGB图像转换 为灰度图算法,具体为:
[0024] for(int i = 0; i<TestBMP.Width; i++)
[0025] //这里采用YUV与RGB颜色空间变换的方法,即{
[0026] Y = 0.3R+0.59G+0.11B;
[0027] Gray = Round(p[3*x+2]*0.3+p[3*x+l]*0.59+p[3*x]*0.11);
[0028] //由于是24位真彩色,故一个像素点为三个字节
[0029] p[3*x+2]: =byte(Gray);
[0030] p[3*x+l]: =byte(Gray);
[0031] p[3*x]: =byte(Gray);
[0032] //Gray的值必须在0~255之间
[0033] }
[0034] Change dBmp.Assign(Tes tBMP);
[0035] PaintBoxl. Canvas.CopyMode:= srccopy;
[0036] PaintBoxl.Canvas.Draw(0,0,ChangedBmp);
[0037] //用PaintBox控件重新绘制图像。
[0038] 然后对图像进行边缘检测算法处理,通过设置参数阀值和矩阵,采用sobel算子与 高斯拉普算子进行边缘处理。该步骤中的边缘检测算法具体为:
[0039] Sobel边缘算子的卷积和如下图所示,图像中的每个像素都用这两个核做卷积。这 两个核分别对垂直边缘和水平边缘响应最大,两个卷积的最大值作为该点的输出位。运算 结果是一幅边缘幅度图像。
[0040]
[0041 ] Canny边缘检测算法。
[0042] 1)用高斯滤波器平滑图象;
[0043] 2)用一阶偏导的有限差分来计算梯度的幅值和方向;
[0044] 3)对梯度幅值进行非极大值抑制;
[0045] 4)用双阈值算法检测和连接边缘。