1.一种基于机器视觉的无人机水域监测巡航方法,其特征在于包括以下步骤过程:步骤一:利用无人机进行水域图像的采集
在目标水域,设置无人机高度,并利用无人机采集监测目标水域的水样图像,将采集的到水样图像实时传输到电脑终端;
步骤二:水域图像预处理
将采集到的水样图像由彩色图像转换为灰度图像,同时对转换后的灰度图像进行直方图均值化处理,得到颜色调整图像;
步骤三:进行图像的边缘检测
使用Canny算子对步骤二所得颜色调整图像进行边缘检测,以除去图像中的杂物像素对图像的干扰,随后对边缘检测后的图像进行形态学中的膨胀处理和高斯滤波处理,以便将图像中的边缘界线联通形成封闭边缘,并增加边缘界线的宽度与顺滑度;
步骤四:目标区域排序筛选
通过opencv对步骤三处理后图像中所有封闭边缘的周长进行计算,从而得到各个封闭边缘对应的周长长度结果,然后对所有封闭边缘的周长从大到小进行排序,最大周长的封闭边缘即为水域区域的封闭边缘;
对于最大周长的封闭边缘,使用凸包算法计算出该封闭边缘图像的凸包,仅保留凸包内的封闭边缘区域为白色,其他区域全部填充为黑色,从而获得水域的边缘图像;
步骤五:获取边缘凸包点并进行坐标系转换
获取整个水域边缘的凸包节点,并计算该凸包节点在图像当中的对应坐标位置,进行坐标系的转换处理,将所有凸包节点转换至实际空间中的经纬度坐标;
无人机拍摄位置在图像的中心位置,依据无人机的高度、偏航角以及相机相对于地面的水平夹角,可以计算出图像中各凸包节点的坐标在世界坐标系当中相对于无人机的经纬度偏差分别为ΔJ和ΔW;各凸包节点i的经纬度坐标表示为(Ji,Wi),无人机的经纬度表示为(J0,W0),地球半径为6371千米,则对应的凸包节点i的经度和维度计算公式如下:Ji=J0+ΔJ×180×(6371×1000×π)
Wi=W0+ΔW×180×(6371×1000×π)
步骤六:水域巡航路线设定
将所有已经进行坐标系转换的凸包节点进行编号,按照不同的巡航需求选择不同编号的凸包节点设置巡航路线,使得无人机可以在指定的编号之间按照顺序进行指定的水域巡航功能,并在巡航过程中对水面进行拍摄;
步骤三中,使用Canny算子对颜色调整图像进行边缘检测时,使用sobel差分算子计算图像在x轴与y轴处的像素梯度值,以图像中像素梯度转变明显的像素点作为图像的边缘,具体进行边缘检测的过程如下:
1)、Canny算法中的梯度下限阈值与上限阈值分别设置为10与30,在使用sobel算子进行图像的边缘检测过程当中,sx与sy分别为x轴方向和y轴方向上的sobel算子,K表示目标图像中以像素点[i,j]为中心的3*3灰度矩阵,具体矩阵表达式如下:
2)通过sobel算子与目标灰度矩阵像素点的卷积计算,可获得图像的[i,j]像素点处,分别在x轴方向和y轴方向上的梯度灰度值,其值分别由Gx与Gy进行表示;具体的x轴方向与y轴方向上的卷积计算过程如下:Gx=sx*K
Gy=sy*K;
3)近似地用Gx与Gy的绝对值之和表示该像素点的总灰度梯度值G,计算公式如下:当坐标点附近灰度值发生明显变换时,G较大,否则G较小,通过以上的计算获得的总灰度梯度值G作为边缘检测的评判标准进行有效的边缘检测;
步骤二中,将采集到的水样图像由彩色图像转换为灰度图像的过程中,灰度梯度的取值范围为0~255,转换公式如下:f=0.31R+0.58G+0.11B
其中f表示灰度图像某像素坐标处的灰度值;
R、G、B分别表示RGB图像中红色通道、绿色通道和蓝色通道对应在某像素坐标处的通道参数值。