计算机视觉应用实战(OpenCV)(微课版) 课件 第7章 图像美颜_第1页
计算机视觉应用实战(OpenCV)(微课版) 课件 第7章 图像美颜_第2页
计算机视觉应用实战(OpenCV)(微课版) 课件 第7章 图像美颜_第3页
计算机视觉应用实战(OpenCV)(微课版) 课件 第7章 图像美颜_第4页
计算机视觉应用实战(OpenCV)(微课版) 课件 第7章 图像美颜_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图像美颜第6章0学习目标1.项目介绍2.空域滤波理理论基础3.项目实现学习目标了解空域滤波的基础知识;了解美颜的算法原理掌握OpenCV3.0实现滤波处理的相关函数使用方法;学习目标1.项目介绍随着视频类APP的流行,美颜技术也变得越来越广泛。“美颜”,顾名思义,对图片里的人脸进行美化。在图片类、短视频类和直播类的APP中,都存在“美颜”的影子:图片类的APP中,最具代表性的是美图秀秀,美图的人像美容,便用到了“美颜”技术;短视频类的APP中,突出的是抖音和快手,这类APP在录制短视频的时候,有美颜、美妆等选项;直播类的APP中,像映客、YY等都在主播进行直播时加入了“美颜”技术。美颜牵涉到的技术包括:人脸检测、人脸关键点定位、瘦脸、磨皮、美白等技术。本项目主要讲解的美颜中的磨皮技术,其主要技术采用的是图像处理中的图像滤波算法。1.项目介绍2.空域滤波理论基础空域滤波是基于邻域处理的增强算法,是一种直接在图像进行处理的算法,即对每一个像素的灰度值进行处理。它应用模版对每个像素与其周围邻域的所有像素进行数学运算得到该像素的灰度值,新的灰度值的大小不仅域该像素的灰度值有关,而且还与其领域内的像素值值的灰度有关。基本步骤:1.将模板在待滤波图像上滑动,并将模板中心与图中某个像素位置重合2.将模板上的各个像素与模板下的各对应像素的灰度值相乘3.将所有乘积相加(为保持图像的灰度范围,常常将灰度值除以模版中像素的个数)得到的结果作为图中对应模板中心位置的像素值。2.1空域滤波使用卷积模版时候,常常会碰到边界问题:当处理图像边界像素时,卷积模版与图像使用区域不能匹配,卷积核的中心与边界像素点对应,卷积运算将出现问题。常用的处理办法有:1.忽略边界像素,即处理后的图像将丢掉这些像素。、2.保留原边界像素,即复制边界像素到处理后的图像。在OpenCV3.0内,滤波处理的函数主要包括:均值滤波、方框滤波、高斯滤波、中值滤波、双边滤波等。其中方框滤波、均值滤波、高斯滤波为线性滤波,中值滤波、双边滤波为非线性滤波。2.1空域滤波OpenCV中的函数blur(均值滤波)就是一种平滑滤波,均值滤波是将当前像素周围像素点的像素平均值作为当前像素点的像素值,均值滤波采用函数blur完成,其语法形式为:voidcv::blur(InputArraysrc,OutputArraydst,Sizeksize,Pointanchor=Point(-1,-1),intborderType=BORDER_DEFAULT)2.2均值滤波方框滤波也同样釆用周围像素点的平均值作为当前像素点的像素值,釆用函数boxFilter完成,其语法形式为:voidcv::boxFilter(InputArraysrc,OutputArraydst,intddepth,Sizeksize,Pointanchor=Point(-1,-1),boolnormalize=true,intborderType=BORDER_DEFAULT)2.3方框滤波简单的图像处理均值滤波中每个像素点的权值是一致的,高斯滤波中将中心点的权值加大,远离中心点的权值减小,最后取得当前点的像素值。例如,其模板可以为:高斯模糊采用函数GaussianBlur完成,其语法格式为:voidcv::GaussianBlur(InputArraysrc,OutputArraydst,Sizeksize,doublesigmaX,doublesigmaY=0,intborderType=BORDER_DEFAULT)2.4高斯滤波中值滤波是取当前像素点及其周围临近像素点总共奇数个像素点,将这些像素点排序,然后将位于中间位置的值作为当前像素点的像素值。中值滤波釆用函数medianBlur实现,具体语法格式为:voidcv::medianBlur(InputArraysrc,OutputArraydst,intksize)2.5中值滤波2.6双边滤波双边滤波,是指有两种因素影响着滤波,一种是空间距离,一种是颜色差值范围。空间距离决定距离当前像素多远的像素能够影响当前滤波;颜色差值范围是指在当前指定空间范围内,与当前颜色的差值在多少范围内能够影响当前的滤波结果。因此,在双边滤波函数内存在着两个参数,一个控制当前滤波的距离,另一个控制影响当前滤波的颜色差值(像素差值)。在OpenCV3.0内,双边滤波函数为bilateralFilter,其语法格式为:voidcv::bilateralFilter(InputArraysrc,OutputArraydst,intd,doublesigmaColor,doublesigmaSpace,intborderType=BORDER_DEFAULT)3.项目实现3.1代码框架3.1最终效果应用场景:谷歌翻译谷歌翻译如果你想知道标识上的外语是什么意思,只需要将手机上的摄像头对准这些文字,谷歌翻译便可以马上解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论