本论文是一篇关于计算机相关毕业设计论文,关于开源计算机视觉库OpenCV的应用相关在职毕业论文范文。免费优秀的关于计算机及嵌入式及操作系统方面论文范文资料,适合计算机论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
摘 要计算机视觉识别具有非常现实的重要意义,本文通过对开源视觉库的研究,将该算法移植到嵌入式系统中,实现识别器件的小型化,降低功耗,提高便携性.为此,制作了一套嵌入式视觉识别系统,在以ARM9系列处理器为核心处理器的控制板上采用linux内核的自主操作系统,配合CMOS摄像头特性进行了驱动程序的开发,实现了图像采集的准确高效,并对应用程序的运行进行了效率优化,使得系统速度和效率得到进一步提升.
关 键 词视觉识别;opencv;嵌入式系统;ARM;CMOS
中图分类号TP39文献标识码A文章编号1674-6708(2013)90-0224-02
1概述
计算机识别系统一直计算机电子类研究的热点,随着各项技术的进步,这一工作的实现越来越容易,利用一些成熟的识别函数,实现图像的精确识别是本文的主要工作,在设计和实现过程中制作了一种小型的低功耗嵌入式设备来实现这一功能.本文通过开发一个图像识别的嵌入式系统,开发CMOS摄像头的驱动程序,实现数据的高速采集,并利用ARM9处理作为中央处理器将采集的图像信息分析加工成与人眼识别效果相当的参数.
2系统设计与实现
2.1系统设计
本文应用的OpenCV全称是OpenSourceComputerVisionLibrary,是Intel公司支持的开源计算机视觉库.它使用类c语言和cplus语言实现的,程序模块化程度高,可以打包成函数或者函数库,对图像处理的函数接口都进行了简单通用的封装,能够实现基本的视觉识别并且算法通用.它的应用领域有人机互动、物体识别、图象分割、人脸识别、动作识别、运动跟踪、机器人视觉[1].
2.2硬件系统设计
计算机庞大的种类中,有一个系列被命名为“嵌入式”计算机,嵌入式与普通计算机最大的区别就是其专用性比较强,可以根据需求,自由的增减接口、设备等.通过对当前嵌入式系统“生态环境”的对比,技术应用比较广泛,而且在工业和消费电子产品中具有大量的开发团队和开源软件系统支持的是ARM系列嵌入式系统.目前ARM系统的主要芯片从ARM7到最新的CORTEXA9都有相当数量的产品,但从性价比和驱动数量来说,ARM9具有强大的优势,本系统就采用ARM9系列处理器中一款自带CMOS摄像头采集接口的芯片作为核心处理器.
在实际研发过程中,由于2.0双排插针在试验中不方便外界信号线和测试调试,通过进一步宽展其接口,我们设计与制作了一个接口扩展板.
2.3软件实现
软件部分采用linux2.6内核,精简化linux操作系统,通过对不需要的内部插件进行精简,整个操作系统,包括驱动程序在内不超过60M字节,而且运行速度可以保证,由于系统功能集中,文件系统和应用程序运行资源需求固定,所以能够长期稳定运行,功耗也比较低,具有小型化,便携性,低功耗的特点.为保证系统的稳定和速度,采用了嵌入式驱动模式,将CMOS接口的驱动程序和内核统一编译,体积更小,运行更稳定.
确定操作系统和平台之后,在应用程序开发过程中重点采用了opencv中一些库函数.OpenCV具有众多函数库,OpenCV拥有包括500多个C函数的跨平台的中、高层API.它不依赖于其它的外部库――尽管也可以使用某些外部库.
本文来源 http://www.sxsky.net/benkelunwen/0609975.html
利用piggingny算法做边缘检测,其函数为:
voidcvpiggingny(constCvArr*catchimage,CvArr*edges,doublethreshold1,
doublethreshold2,intaperture_size等于3);
函数中catchimage为输入图像;edges为输出的边缘图像;threshold1为第一个阈值;threshold2为第二个阈值;aperture_size为Sobel算子内核大小.
函数cvpiggingny采用PIGGINGNY算法发现输入图像的边缘而且在输出图像中标识这些边缘.threshold1和threshold2分别为大阈值和小阈值,在图像边界确定过程中,边缘是否连接由最小的阈值来限定,而那些属于图像边界则由大的阈值来控制[2].
在进行边界确定和绘制之前,有些涉及二值化的问题,可以用不同的颜色转换方法实现,比如用色彩空间转换法.有一种转换方法用到了Bayer模式,这是一种广泛应用于CCD和CMOS摄像头图像数据处理的模式.它允许从一个单独平面中得到彩色图像,然后对初步处理的图像进行结构分析,利用二值化后对阈值的选择进行测试并进行形状的模糊识别.
得到训练成熟的分类器,就可以实际应用与图像识别.但输入图像识别区域必须与训练样本具有相同的尺寸才能保证识别效果.分类器的值可以有两个,一个为0,一个为1,0表示图片的数据特征经检测不符合现在分类器的目标,1就是符合的意思.如果图像采集的尺寸大小不同则可以分区域进行单独处理.大图片分多个区域,小图片则置于正中心用白色背景补充整副图像.为了提高适应性,可以设计类别分支模块有多个尺寸,根据目标物体大小进行自动选择,试验中发现类别分支模块被设计为可以进行尺寸调节的类型后效果非常好,这比只改变待检