无人机飞行图像处理(matlab杯)感想

编程入门 行业动态 更新时间:2024-10-09 22:23:53

<a href=https://www.elefans.com/category/jswz/34/1768918.html style=无人机飞行图像处理(matlab杯)感想"/>

无人机飞行图像处理(matlab杯)感想

        开始时觉得图像处理没什么难度,无非就是RGB转化成HSV,设置阈值,进行二值化,然后进行边缘检测,再利用得到的矩阵进行计算得到偏移量或者偏航角。但事实上,当开始进行初赛作品的设计的时候就出现了很大的问题。

        首先存在的问题是,要利用simulink来进行搭建,而我们对于simulink没有一点基础,所幸其中有matlab函数供我们使用。

        首先数字图像处理部分提供的是RGB三条通道,所以第一步就是将RGB三条通道合成,进行颜色模型的转化,利用matlab所带的app进行代码的自动生成,这样第一步的二值化就完成了。

        其次,要进行边缘的检测,这里由于赛道使用的是直线,所以,我们的想法是拉出canny检测模块,再将输出进行Hough变换,得到三个输出变量,再进行linehough的检测,最终调试出最理想的直线,从而得到误差较小的偏航角,作为控制模块的输入。

        这里我们遇到了第一个问题,就是就是输入和输出的问题,其中会出现矩阵维度大小的问题,可以通过matlab设置解决,这里linehough检测的效果不太理想,所以重新写代码,而且调用这些函数会影响运行速度,特别是当在实体无人机上运行的时候。

道路边界的检测:

        利用逐行扫描的形式进行,由于进行了二值化处理,图像中会出现0,1分布,这样,道路边界就处于0,1边界上,可以根据这个特点来进行边界的判定。同时考虑到摄像头的精度以及二值化处理的精度,我们可以允许一定的像素点漂移,这个可以根据实际的效果和图像大小进行设置,即在直道时,可能由于像素点的偏移,会出现以下这种情况:

...00000000011111110000000...

...00000000011111110000000...

...00000000111111100000000...

...00000000011111110000000...

...00000000011111110000000...

这样仍可以定义为90°的直线。

      情况①:双边轨道   这样根据像素点的0,1判断就可以检测处左右轨道边界。

      情况②:单边轨道,处于拐角的地方,这样只可以检测到其中一条边界,可以加一个判断,将没有检测到的边界定义成图像的边界。

      情况③:出现特殊赛道,如环形,十字等等,这根据赛道实际的运行特点进行设计。

        对于检测到的左右边界,可以进行平均求解处赛道的中心,这样可以先在静态图中进行调试,选择最合适的参数。

偏航角的求解:

        根据图像大小以及赛道拐角的大小进行超前检测,这里超前检测根据实际调整。这样可以得到一段赛道的信息,以图象中心作为基点,根据像素点的偏移,利用加权平均的方法求解出偏移角度(根据实际的图像放大缩小比例),由于无人机图像是垂直向下的,无变形情况,所以可以直接取平均,这样可以减小误差。将图像中心作为基点的好处时,当无人机由于拐角偏离轨道时,仍然可以调整回轨道上。

        这样数字图像处理部分的基本思路已经解决,这个基本可以解决百分之八十的赛道问题,具体的特殊赛道还要根据赛道的特点,已经实际赛道要求特点进行条件判定或者约束。

更多推荐

无人机飞行图像处理(matlab杯)感想

本文发布于:2024-03-14 16:02:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1736829.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:无人机   图像处理   感想   matlab

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!