第18届全国大学生智能汽车竞赛四轮车开源讲解【1】--摄像头

开源汇总写在下面 第18届全国大学生智能汽车竞赛四轮车开源讲解.X的博客-CSDN博客 一、摄像头的基本参数
注:参加智能车比赛所使用的外设无非就是两家,某飞和某丘 。由于我们的实验室一直选择某飞的产品多一些,所以在后续的讲解使用的外设大多以某飞的为主 。
从18届智能车比赛开始,使用的摄像头就不允许携带MCU,使用祖传摄像头的同学请注意查阅资料,将MCU拆下,使用其他通讯方式进行摄像头基本参数的配置(在使用层面没有区别,商家提供的库会自动识别,自动选择初始化方式) 。另外使用沁恒CH32系列作为主控的同学,在拆下MCU后,还需要再对摄像头进行一个硬件修改,在某两个引脚焊上一个零欧电阻,请各位自行咨询客服查阅资料 。
本人使用的是某飞的130度无畸变摄像头,其他摄像头只是视野范围的变化,基本都差不太多,以下讲解进针对我所使用的摄像头,
常用的一些宏定义参数配置题1.图像大小
#define MT9V03X_W(188)// 图像宽度范围 [1-752]#define MT9V03X_H(120)// 图像高度范围 [1-480]#define MT9V03X_IMAGE_SIZE(MT9V03X_W * MT9V03X_H)// 整体图像大小不能超过 65535
修改图像大小是可以明显感受到图像变化,摄像头每一帧采集的图像大小应该是固定的,当你修改图像的长和宽宏定义时,他会在图像中截取你所设置的大小(当然是有限制的),理论上你设置的图像长和宽越大,相对于相同摄像头,相同镜头,会直接让你看到更多东西 。
图像设置的大,有好处,同样也会带来问题 。
图像越大,相同算法进行一次图像处理,时间会直接变长,可能会影响后续的控制 。图像变大,可以看到更多,更远的赛道信息,信息处理不好,会影响元素识别 。
一般的例程都是默认188*120的图像,这个图像视野其实比较大,我也阅读过一些国赛代码,他们也没有将图像开的很大,基本都在180*100左右 。
除此之外,我在调试时也发现图像开的太大的一个问题 。图像会出现“暗角” 。
屏幕左下角,右下角出现的一团黑斑
当图像开的过大,现场光线不均匀时,在屏幕的四个角处,会图像变暗 。
这会严重影响我的元素判断 。
调曝光会使情况好一点,但是为了增强角落的一点光,导致整体亮度变大,在一些角点处会有一些影响,所以我没有选择开比较大的图像,我选择的180*70 。
图像大小,还需要和摄像头高度,摄像头角度,摄像头位置等综合选择出一个最适合的参数 。
具体选择方式,下面有讲解 。
2.曝光时间/自动曝光
如果现场光线均匀,稳定,那么选择自动曝光就好 。
调整曝光时间的事情是十七届国赛时候比较火热 。据说主办方南信工的场地使用的蓝膜是比较浅色的,再加上体育馆的灯光偏暖,造成好多车手打开摄像头屏幕一片白,人都蒙了 。
某飞提示,不是阈值的问题,摄像头收到的灰度数据就是有问题,需要调整曝光,来获取清晰的灰度图,才能有比较好的效果 。
十七届国赛浙工大充电组,应对光线问题,现场的抹布大赛也是当时一大特色(b站截图)
曝光时间越长,画面整体就会偏亮一点,曝光时间短,画面会整体偏暗,这个要和现场环境,蓝膜颜色,场地灯光和摄像头的实际图像来综合确定 。
如果是上帝之光,那还是老老实实用抹布吧,曝光不是万能的,只能解决整体偏亮/偏暗 。
修改曝光可以直接改宏定义,也可以在初始化后使用这个函数:
mt9v03x_init();mt9v03x_set_exposure_time(512);//括号内参数自行根据情况修改