基于Android与opencv的手机端支持向量机分类毕业论文
2021-07-13 00:53:25
摘 要
SVM(支持向量机)是一种现代的模式识别/机器学习方法,常应用于计算机视觉等领域,但其在Android手机终端的应用还不多。本次毕业设计利用Android平台上OpenCV中SVM分类相关算法,在前人车牌识别相关工作的基础上,研究了SVM在Android手机端的应用,得到了一款能有效在Android手机端SVM分类的APP。
本文首先对SVM分类领域进行了学习。然后介绍了承载了此手机应用的开发任务的环境平台,即Android系统开发环境,用于开发APP。在这个章节里,讨论了用Androidworks来对Android系统的搭建,首先是用Androidworks对环境配置必要组件一步下载,然后讲诉了在Eclipse集成开发环境中的Android JDK和Android NDK配置。在之后的第四章讲诉了OpenCV算法库在整个设计中的作用,以及设计中所用的OpenCV函数。第五章则是讲诉了整体项目在Eclipse集成开发环境中的实现,包括OpenCV-Android-SDK的配置,虚拟机的配置,设计项目的建立,设计项目SVM分类部分的设计思路和部分SVM分类代码解析,以及用虚拟机对APP的调试。最后则是对整个设计的总结与展望。
本设计以车牌识别为背景,在字符识别部分利用了OpenCV算法库中关于SVM分类的相关算法,其思路可望为其他类似的手机端计算机视觉应用提供参考。
关键词: SVM分类;Android;OpenCV;环境配置
Abstract
SVM (support vector machine) mainly applied in the field of computer vision is a kind of modern pattern recognition and machine learning methods.But application of SVM in the Android mobile terminal is not much.My graduation design which used the SVM classification algorithm on the Android-OpenCV platform,researched the application of SVM in Android mobile and got a effective Android mobile app of SVM classification on the basis of previous license plate recognition related work.
The thesis first made a study on the SVM classification.Then introduced the Android platform which carries the main task of App development.In this chapter we discussed about the setting for Android system by using Android works to download the necessary accessories for environmental configuration, and then described the configuration by Android JDK and Android NDK in Eclipse integrated environment. After that in chapter fourth,we talked about the effective by using the OpenCV algorithm base and functions to the entire project.Moreover the chapter fifth talked about achieve the entire project in the development of Eclipse integrated environment,including the configurations of OpenCV-Android-SDK and AVD,setting up the project. Define a part of the ideas for SVM classification design and SVM classification code in this project,and the App debugging by using AVD.The final was conclusion and expectation for this project.
On the background of licence plate recognition design,we use the OpenCV algorithm library on the SVM classification related algorithms in the character recognition part.The idea is expected to provide a reference for other similar mobile computer vision applications.
Key words: SVM classification; Android; OpenCV; environment configuration
目 录
第1章 绪论 1
1.1 研究意义与背景 1
1.2 课题研究内容 1
1.3 论文组织结构 2
第2章 SVM分类 4
2.1 SVM分类的研究现状 4
2.2 SVM分类原理 4
2.3 基于SVM分类实例解析 5
2.4 SVM的实际应用 8
第3章 Android平台 10
3.1 Android平台简介 10
3.1.1 Android应用 12
3.1.2 Android智能系统架构 12
3.1.3 Android文件 14
3.1.4 Android控件(设计使用) 14
3.2 Android整体环境搭建 14
3.2.1 Androidworks一步安装 14
3.2.2 集成开发环境-Eclipse配置 15
3.2.2 调用NDK动态库 16
第4章 OpenCV算法库 17
4.1 OpenCV算法库简介 17
4.1.1 OpenCV优势 17
4.1.2 OpenCV应用 18
4.2 OpenCV相关函数(设计所用) 18
第5章 项目总体实现 19
5.1 Eclipse项目具体配置 19
5.1.1 Eclipse集成环境中OpenCV-Android-SDK设置 19
5.1.2 虚拟机配置 22
5.2 项目设计实现 23
5.2.1 建立设计工程项目 23
5.2.2 SVM分类部分设计思路及编程解析 26
5.3 APP的调试运行 28
总结与展望 30
参考文献 31
致谢 33
第1章 绪论
1.1 研究意义与背景
SVM是support vector machine的缩写,即支持向量机的简称。SVM是Vapnik,Cortes等研究学者由统计学习理论提出的一种机器学习方法,可用于模式识别,回归分析等,也是一种当今十分流行的分类方法[1]。
SVM是一种基于统计学习理论的模式识别方法,当前的主要应用在于模式识别领域。早期由于其研究不完善,模式识别方面的研究相对保守,数学研究尚不发达,导致研究发展一直处于停滞状态。到了90年代中期,一方面由于统计学习理论的实现,一方面在新的机器学习方法领域遇到一些问题,使得SVM进入快速发展完善时期。如今SVM,已经能在解决小样本、非线性以及高维模式的识别问题时显现出很多独有的优势,并已经在社会生活中的许多领域都取得成功应用[25]。
Android是当前一款市场广泛的基于Linux内核的移动设备智能操作系统,主要应用手机,也应用于平板电脑以及其他智能设备上。在Android的移动设备上进行APP开发是现今互联网时代的一个发展热点。Android系统由Linux内核、中间件、C语言的函数库与API接口、和在包含Java兼容库的应用框架上的APP组成,具有五个结构层,三个系统层,两个应用层[15]。基于Android与OpenCV的手机端支持向量机分类的设计可采用在通过在Android开发环境下用Java接口调用OpenCV算法库的方式完成。