基于DMA的模拟摄像头图像标定和采集ImageAcquisitionandCalibrationofAnalogCameraBasedonDMA张小松,高云飞,魏久桐,娄丙雷(哈尔滨工业大学(威海),LearningRobot队)摘要:本设计以“恩智浦”杯全国大学生智能车竞赛为背景,提出了一种基于DMA的模拟摄像头图像标定和采集方案。本文介绍了这一方案的基本思想和程序应用,并根据方案实际制作了小车。实践证明该方案是可行的。关键词:智能车;K60;DMA;硬件二值化;模拟摄像头;失真矫正I.引言在摄像头导航的智能车中,因为其数据量大,单片机处理速度有限,图像采集的速度和质量是尤为重要的。近年来硬件二值化和DMA采集深受参赛队员的欢迎,本文介绍了一种用PIT定时器触发DMA采集二值化图像和通过标定摄像机进行图像失真校正的方案,该方案利用网格标定板生成定时器的定时时间数据,触发DMA搬运比较器的结果来实现隔点采集图像,基本不占用单片机运行时间得到失真矫正过的图像并且不需要多余的外围电路。II.图像采集原理在MK60DN512中,有PIT定时器、多路DMA和内置比较器资源,并且可以通过PIT触发PDB(可编程延时模块),再由PDB触发DMA搬运数据。用DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率。采集程序需要用到一个PIT模块、两个DMA模块、一个PDB模块,一个内置比较器。采集过程中首先初始化各个模块,场中断来临时,软件启动PIT定时器,定时时间到后触发PDB模块,PDB模块再立即触发采集数据DMA从内置比较器搬运比较器结果到图像存储数据,采集数据DMA再通过主循环链接功能链接到装初值DMA,给PIT装入下一次的定时时间,就完成了一个像素点的采集。图1图像采集流程图现在只需要得到两个像素点之间合适的延时时间,就可以得到失真矫正过的图像,通过标定就可以得到合适的延时时间。III.标定方法标定程序通过网格标定板,将均匀采集的图像发到上位机,点击记录图像中网格顶点的位置,得到失真情况即图像坐标(x,y)与真实坐标(x0,y0)的对应关系。图像坐标(x,y)对应的就是不同的采集时间和行数,可以通过均匀采集的时间间隔和单片机总线时钟频率算出不同采集时间应对应的PIT定时器初值。采集时间=时间间隔*y*总线时钟频率采集行数=x*图像总行数/均匀采集行数图2标定上位机通过拟合图像坐标(x,y)与真实坐标(x0,y0)的函数关系,就可以对应每一个真实坐标,算出需要的图像坐标(x,y),进而得到需要在哪一行隔多久之后采集...