java视频流的图像目标识别技术+源程序(2)
时间:2018-10-23 18:50 来源:毕业论文 作者:毕业论文 点击:次
7.1总结 22 7.2展望 23 致谢 23 参考文献 23 机器视觉是人工智能领域研究的重点,未来会有很好的发展前景。机器视觉经过传感器得到周围环境的图像数据,通过对图像的识别与分析,让使用者可以辨识目的物体及确定其位置。不用接触被检测对象是机器视觉系统最大的优点,这一点很好的解决了一些不适合人眼的环境下采集数据的问题。如今,随着机器视觉的快速发展,对它的要求越来越高。 1绪论 1.1研究背景 计算机视觉(Computer Vision)的目标是用机器模拟人类视觉,作为一个热门领域,其研究重点是从图像中采集信息,并理解图像含义[1]。图像数据的形式有很多,例如视频,摄像机或者医疗扫描仪等。 图像识别是根据机器视觉、模式识别等技术方法,识别出图像含义[2]。图像识别技术能使用户在各种场景下的视觉需求得到满足,涵盖图像搜索和挖掘、人机对话与信息服务等方面[3]。复杂的识别环境会影响机器视觉的识别效率,因此在机器视觉领域中如何提高对目标有效信息准确的提取与高效的处理,已成为近年来国内外学者研究的重点。 1.2国内外研究状况 1.2.1国内研究现状 1.2.2国外研究现状 1.3开发环境与技术介绍 1.3.1硬件环境 在提到程序运行是否成功的时候,首先从物理设备上考虑,即硬件环境的配置问题。本次设计在实施运行过程中,需要电脑一台,包括键盘、鼠标等基本输入设备,如果需要串口输出数据,需添加串口设备,除此之外,还需双目摄像头一个,用来采集图像信息。计算机相关的硬件配置最低要求是处理器型号在Pentium IV以上,内存在2GB以上。 1.3.2软件配置 对于程序的开发而言,硬件条件是基础,但也不能缺少软件方面的支持。由于本程序采用java编程,所以需要安装java开发环境,要求jdk版本在1.6及以上。 为了方便对摄像头画面捕捉,需要安装AMCap软件。AMCap是一个功能完全的视频捕捉程序,在有多个摄像头的情况下,可以通过它选择开启哪一个摄像头。若需要串口输出数据,则需要安装对应的串口驱动。 1.3.3 JavaCV概述 OpenCV是一种开源的函数库,一般用来开发图像目标分割与识别、特征检测和运动分析等方面[7]。而JavaCV则相当于为java开发环境中调用OpenCV提供接口。 JavaCV是一种视觉处理库,其中封装了各种常用计算机视觉库,包括OpenCV、libdc1394等。编程人员可以经过其中的utility类方便的在Java平台上调用这些接口[8]。其处理速度极快,延时可忽略不计。 若要通过JavaCV调用OpenCV中的函数,需先配置OpenCV的开发环境,配置过程比较复杂。但是,从JavaCV0.8版本开始,OpenCV已经不需要在本地安装,可以直接引包调用函数。因此,本程序采用JavaCV1.3版本,配合对应版本的OpenCV进行开发,直接引包无需配置环境,这一点为本程序的开发提供了极大的便利。 2课题概述 2.1课题设计 本课题的目标是实现动态目标跟踪,多目标识别,实时输出目标的相关信息。 本课题的研究主要包括颜色识别算法,测量距离及数据输入输出三方面内容。设计方面,首先摄像头传输图像信息到屏幕,通过鼠标左键点击并拖拽,用矩形框圈出目标区域,该区域经过程序识别处理获得有用信息,根据获取到的颜色信息,从原始图像中筛选出在指定颜色范围内的其他区域,并在图像中用矩形框圈出,保存及输出所有圈出目标的颜色、坐标和距离信息。这项技术可以应用在机器人控制方面,预先选定目标颜色范围,通过程序处理筛选出多目标,之后把目标的信息发送给机器人,有了具体的坐标及距离信息,机器人即可准确知道目标情况,随后根据指令进行反应。 (责任编辑:qin) |