- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
项目9一目了然——计算机视觉应用
本项目学习任务OpenCV简介OpenCVJavaAPI简介
OpenCV简介开源的计算机视觉库丰富的函数:滤波、物体检测、机器学习等实时应用的开发广泛的应用领域:图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等。
OpenCV简介OpenCV使用C/C++开发,同时也提供了Python、Java、MATLAB等其他语言的接口。它可以在Windows、Linux、MacOS、Android、iOS等操作系统上运行,并且是跨平台的。2010年起,OpenCV支持在Android环境下使用
OpenCV简介OpenCV具有模块化结构,包含多个共享或静态库,提供以下模块:核心功能(core):定义基本数据结构的模块,包括密集多维数组Mat和所有其他模块使用的基本函数。图像处理(imgproc):一个图像处理模块,包括线性和非线性图像滤波、几何图像转换(调整大小、仿射和透视变形、基于通用表的重新映射)、颜色空间转换、直方图等。视频分析(video):一个视频分析模块,包括运动估计、背景减法和对象跟踪算法。
OpenCV简介OpenCV具有模块化结构,包含多个共享或静态库,提供以下模块:相机校准和3D重建(calib3d):基本的多视图几何算法、单相机和立体相机校准、物体姿态估计、立体对应算法和3D重建元素。2D特征框架(features2d):显著特征检测器、描述符和描述符匹配器。对象检测(objdetect):检测对象和预定义类的实例(例如人脸、眼睛、杯子、人物、汽车等)。高级GUI(highgui):一个简单易用的UI框架。视频I/O(videoio):易于使用的视频捕获和视频编解码器接口。其他一些辅助模块,例如FLANN和Google测试包装器、Python绑定等。
OpenCVJavaAPI简介Android中主要使用的是OpenCV的JavaAPI,常用的有这几个类:Mat类:主要用来定义Mat对象,切割Mat对象。常规的Bitmap位图在OpenCV中都需要转换为Mat。Core类:主要用于Mat的运算,提供了很多运算功能的静态函数。ImgProc类:主要用于图像的处理,也提供了很多处理功能的静态函数。Utils类:主要用于Mat和bitmap之间的转换。
OpenCVJavaAPI简介1.Mat类Mat类是一个用于保存图像数据或矩阵数据的数据结构,能够用来保存实数或复数的向量、矩阵,灰度或彩色图像,立体元素,张量以及直方图。Mat对象中包含了图像的各种基本信息与图像像素数据。Mat是由头部与数据部分组成的,其中头部还包含一个指向数据的指针,可以把Mat视作图像矩阵。
OpenCVJavaAPI简介Mat类常用方法:Utils.bitmapToMat():将Bitmp转化为Mat格式Utils.loadResource():直接获取对应图片的MatUtils.matToBitmap():Mat转Bitmap的方法release():Mat内存释放
OpenCVJavaAPI简介2.颜色转换与二值化计算机视觉中经常涉及到颜色转化,从一个颜色空间转换到另一个颜色空间或者图像的灰度化等。OpenCV中使用cvtColor()方法进行颜色转换操作,示例代码如下:Bitmapbitmap=BitmapFactory.decodeResource(getResources(),R.drawable.lena);
Utils.bitmapToMat(bitmap,src);
Imgproc.cvtColor(src,dst,Imgproc.COLOR_BGRA2GRAY);
Utils.matToBitmap(dst,bitmap);
OpenCVJavaAPI简介图像二值化是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。图像二值化有个关键参数是黑白点的阈值,整张图片中高于阈值的点都置为255,低于阈值的点都置为0,就可以呈现出明显的二值黑白效果。
OpenCVJavaAPI简介阈值的确定有两种方法:手动指定和自动计算。手动指定阈值是指由开发者手动确定一个阈值,在一些专用场景下可以通过实验效果调整。OpenCV也提供算法来自动计算阈值,包括全局阈值计算和自适应阈值计算两种。全局自动计算阈值的方法有OTSU与Triangle,这两种方法都是以图像直方图统计数据为基础来自动计算阈值的。自适应阈值计算方法,它们是基于局部图像自动计算阈值的方法,有C均值与高斯C均值两种。图像二值化的示例代码如下:Imgproc.threshold(src,dst,125,255,Imgproc.THRE
您可能关注的文档
- Office 2019办公软件高级应用实例教程 课件 案例8 制作特色农产品销售图表.pptx
- Office 2019办公软件高级应用实例教程 课件 案例9 大学生技能竞赛成绩情况分析.pptx
- Office 2019办公软件高级应用实例教程 课件 案例10 大学生创业企业日常费用分析.pptx
- Office 2019办公软件高级应用实例教程 课件 案例11 垃圾分类宣传演示文稿制作 .pptx
- Office 2019办公软件高级应用实例教程 课件 案例12 创业宣传演示文稿制作.pptx
- Office 2019办公软件高级应用实例教程 课件 案例13 汽车行业数据图表演示文稿制作.pptx
- Office 2019办公软件高级应用实例教程 课件 案例14 诚信宣传动画制作.pptx
- Android应用开发项目式教程 课件项目1 你好Android——第一个Android应用.pptx
- Android应用开发项目式教程 课件 项目2 个性名片——界面布局.pptx
- Android应用开发项目式教程 课件 项目3 信息注册——界面控件.pptx
- 2024精简护肤洁面趋势报告-TMIC-30正式版.doc
- 2024捕捉华夏民族珍味-咸味主食与咸味零食创新机遇报告-25正式版.doc
- 2024年秋季部编版小学道德与法治二年级上册全册课件PPT最新.pptx
- 部编版第十一册第四单元拓展提高教学课件.ppt
- 2024年秋季新西师大版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋新人教版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋季新人教版数学一年级上册全册教学课件(新版教材).pptx
- 2024年秋季新人教版数学一年级上册全册课件(新版教材).pptx
- 2024年秋季新人教版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋季新人教版一年级上册数学全册课件(新版教材).pptx
文档评论(0)