7)双缓存功能。OpenGL的双缓存形式运用是创新性的。计算场景、生成画面图像、显示画面图像分别将其由前台缓存和后台缓存分开处理,不仅提高了计算机的运算能力还增加了画面显示的速度。
3.2 OpenCV
OpenCV是一个基于[33](开源)发行的跨平台计算机视觉库。OpenCV由Intel于1999年建立,现由Willow Garage提供技术支持。OpenCV的全称是:Open Source Computer Vision Library 。可以运行与Windows、Linux和Mac OS等多个操作系统,移植性和通用性高。其编程语言由许多的C 函数和少量的C++ 类组成,并且为了提高其通用性,提供了Python、Ruby、MATLAB等其它编程软件语言的接口,从而较为完美的分析处理图像以及完成许多的通用算法用于计算机智能视觉方面。
3.3 OpenNI
OpenNI 功能
(1)Alternative View(替换视角):map generator(地图生成器:指的是深度、影像、红外线)可以从多个角度感受环境空间,并且转换到不同的视角,此功能可以对不同位置不同的感应器接受到的内容快速的进行队位。
(2) Skeleton(骨架):User Generator(使用者产生器)能够产生骨架资料,其中包含了骨架关节的位置,追踪骨架的位置并且还拥有校正的能力。
(3)Frame Sync(画面同步):同步系统中的感应器所产生的结果,实时的处理系统视频,将所得到的信息同步取得,处理。
(4) Cropping(裁切):map generator(地图生成器:指的是深度、影像、红外线)输出的结果利用这个功能进行剪切,可以将解析度降低。
(5)Pose Detection(姿势检测):User Generator(使用者产生器)能够侦测出事先定义在系统中的特定姿势。
(6) User Position(使用者位置):针对指定的空间场景,Depth Generator(深度产生器)最优化输出的深度影像。
(7) Mirror(镜像):将传感器所得到的结果进行镜像处理,即左右颠倒。
(8)Error State(错误状态):对于每个模块,即每个节点,在分布处理图像时候,哪个模块出现问题就报告其错误状态。
(9)Lock Aware(锁定):此功能能够在context范围外锁定每个节点。
3.4 本章小结
本章主要介绍了软件框架的选取。在前一章硬件选取的基础上,选取了开源的软件库:OpenCV、OpenNI、OpenGL。介绍了三者的优势,未来的发展趋势以及其对于计算机视觉技术发展的重要地位。
第4章 实验结果
4.1 图像预处理实验结果
4.1.1 平滑处理
在第二章中介绍了需要进行局部的滤波处理在图像分析之前。
其实验结果图如图4.1所示:
(a)原图(a)artwork
(b)高斯平滑处理图 (c)中值平滑处理后的图像
(b)Gaussian smoothing processing images
(c)Median smoothing the processed images
图 4.1 图像平滑滤波处理比较图
Fig. 4.1 The image smooth filtering processing comparison chart
从采样的图像中可以分析出,(a)是直接用摄像头采集到的视频图像;(b)是由OpenCV所提供的封装函数进行的高斯滤波处理。;(c)是由OpenCV所提供的封装函数进行的中值滤波处理。从原图中可以看出,图像在某些物体的边缘会出现不平滑的地方,那是因为噪声干扰。图像的边缘就会较为光滑在被滤波处理了之后。平滑处理图像的实质就是将图像在某些位置模糊化。
4.1.2 阈值二值化图像处理(OTSU)实验结果图
阈值二值化图像实验效果图如图4.3所示。(OTUS算法) OpenCV移动目标物体的检测跟踪的研究(12):http://www.751com.cn/jisuanji/lunwen_524.html