论文部分内容阅读
随着Android智能移动终端设备硬件性能的提升和数字图像处理技术的发展,将全景图像拼接技术应用于智能移动终端设备,以解决宽视野与高分辨率的矛盾已经成为智能移动终端相机应用的研究热点。现有的自拍相机应用主要以美颜和特效滤镜两大功能为主,并不具备拍摄宽视野的个人自拍图像的功能。 为了实现在个人自拍时,拍摄出宽视野和高分辨率的个人自拍图像,本课题研究实现了一款功能新颖的基于Android平台的宽视野自拍相机应用。首先,通过调用Android系统的上层API实现自拍相机快速连拍功能模块,并利用该模块采集一个连续的个人自拍图像序列。然后,使用金字塔Lucas-Kanade算法计算自拍图像序列的Shi-Tomasi和SIFT特征光流。根据特征光流筛选出待拼接关键帧并初步确定关键帧之间的重叠区域,同时确定关键帧特征点之间的匹配对关系。为了提高算法在不同场景下的鲁棒性,再次提取关键帧重叠区域的SIFT特征,并用FLANN算法对重叠区域的SIFT特征进行匹配。之后,使用RANSAC算法对光流法和SIFT算法得到的关键帧特征点匹配对进行提纯,对提纯后的特征点匹配对再次使用RANSAC算法计算出最佳变换矩阵。计算出最佳变换矩阵后,使用L-M算法迭代求取精确的变换矩阵,实现对关键帧的配准。完成图像配准之后,采用平面投影模型将关键帧投影到同一个基准平面上,再利用Alpha融合算法对投影结果进行融合,生成一幅具有宽视野和高分辨率的自拍图像。最后,将拼接算法移植到Android平台上,并完成自拍相机应用UI界面的设计,实现宽视野自拍相机应用的系统功能。 本文Android自拍相机功能模块和UI界面部分在Eclipse+ADT环境下开发设计,自拍图像序列拼接算法在Visual Studio2012+OpenCV2.4.10环境下用C++语言开发调试成功。然后,在Eclipse+OpenCV for Android3.1.0环境下完成算法移植,实现了系统整体功能,并在多种自拍条件下对本文自拍相机系统进行了验证。本文自拍相机系统在拼接精度和运行速度上都能够满足人们日常自拍需求,使用户可以方便的拍摄宽视野和高分辨率的个人自拍图像。