1 / 24

结题报告

结题报告. 项目名称:基于 OpenCV 和 OpenGL 的实时动画生成系统的设计与实现. 刘婧怡 高杨 岳思琪 邓健. 主要内容. 项目目标 项目完成状况 主要使用的方法 项目演示. 项目目标. 项目的最终目标 将从摄像头获取的人头部图像实时地较准确地生成 3D 卡通动画图像。. 项目完成状况. OpenCV. 项目完成状况. OpenGL. 主要使用的方法. OpenCV 一、图像处理 将 RGB 图像转换为 HSV 图像,即色调( H ),饱和度( S ),亮度( V )。调整色调,使其与皮肤的颜色相符,再进行二值化。. 主要使用的方法.

Download Presentation

结题报告

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 结题报告 项目名称:基于OpenCV和OpenGL的实时动画生成系统的设计与实现 刘婧怡 高杨 岳思琪 邓健

  2. 主要内容 • 项目目标 • 项目完成状况 • 主要使用的方法 • 项目演示

  3. 项目目标 • 项目的最终目标 • 将从摄像头获取的人头部图像实时地较准确地生成3D卡通动画图像。

  4. 项目完成状况 • OpenCV

  5. 项目完成状况 • OpenGL

  6. 主要使用的方法 • OpenCV一、图像处理 • 将RGB图像转换为HSV图像,即色调(H),饱和度(S),亮度(V)。调整色调,使其与皮肤的颜色相符,再进行二值化。

  7. 主要使用的方法 • OpenCV一、图像处理 平滑处理降低噪声中值滤波开运算闭运算 寻找角点 模板匹配

  8. 主要使用的方法 • OpenCV二、人脸检测 • 二值化处理后检测人脸比较容易。二值化后,人脸的部分呈现白色(眼睛和嘴除外),就可以很方便地检测出来了。

  9. 主要使用的方法 • 效果图

  10. 主要使用的方法 • 三、特征提取 • 主要使用的是寻找角点的方法 • 检测出人脸后,绘制脸部轮廓的外接矩形框,在矩形框内部设置感兴趣的区域,寻找眼睛和嘴的角点。

  11. 主要使用的方法 • 目前的角点检测算法可归纳为3类:基于灰度图像的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测,角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。对灰度图像、二值图像、边缘轮廓曲线的角点检测算法进行综述,分析了相关的算法,并对各种检测算法给出了评价。

  12. 主要使用的方法 感兴趣区域的中心是通过角点检测的方法实现的

  13. 主要使用的方法 • 综合两个感兴趣区域的中心点,最终得到一个整体的中心点。这个中心点是随着头部的转动而移动的,这样通过计算即可得出这个中心点的具体坐标,从而控制头部转动。

  14. 主要使用的方法

  15. 主要使用的方法 • OpenGL 一、载入模型 使用3dsmax等软件制作人头部模型,将模型导入到OpenGL的框架中。 在构建好OpenGL的程序框架后,载入一个三维的模型首先要了解该模型的数据结构。以半条命游戏引擎的ms3d格式为例,模型的结构包括模型的顶点、三角面、网格面、材质等数据。在用OpenGL绘制这些模型的时候都要考虑到这些。

  16. 主要使用的方法 • OpenGL 一、载入模型 未贴图的白模 模型的UVW展开贴图 最终效果

  17. 主要使用的方法 • OpenGL 二、模型控制 通过使用OpenGL的函数控制模型的视角,大小,旋转角度等参数。比如旋转一定角度后的3d模型如图所示:

  18. 主要使用的方法 • OpenGL 三、实时渲染 通过OpenCV传过来的变量参数控制OpenGL模型的位置,旋转和表情动画等。比如在本项目中使用OpenGL的参数yrot和OpenCV代码的参数angle.x共同控制模型摇头的角度,以及使用OpenGL中定义的宏CLOSE_EYE和OpenCV中的corner_count1参数控制模型眼睛的动作。 这一模块需要与OpenCV的代码的良好的组合,最后达到互动、实时渲染动画的效果。

  19. 目前主要使用的方法 • OpenGL 三、实时渲染

  20. 目前主要使用的方法 • OpenGL 三、实时渲染

  21. 目前主要使用的方法 • OpenGL 三、实时渲染

  22. 主要使用的方法 • OpenGL 三、实时渲染 载入卡通三维模型 右转30度 正常 左转30度

  23. 项目演示

  24. Thank you!

More Related