项目概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结题报告
项目名称:基于OpenCV和OpenGL的 实时动画生成系统的设计与实现
刘婧怡 高杨 岳思琪 邓健
主要内容
• 项目目标
• 项目完成状况
• 主要使用的方法 • 项目演示
项目目标
• 项目的最终目标
• 将从摄像头获取的人头部图像 实时地较准确地生成3D卡通动 画图像。
项目完成状况
• OpenCV
主要使用的方法
感兴趣区域的中心是通过角点检测的方法 实现的
主要使用的方法
• 综合两个感兴趣区域的中心点,最终 得到一个整体的中心点。这个中心点 是随着头部的转动而移动的,这样通 过计算即可得出这个中心点的具体坐 标,从而控制头部转动。
主要使用的方法
主要使用的方法
• OpenGL
一、载入模型
使用3dsmax等软件制作人头部模型,将模型导 入到OpenGL的框架中。 在构建好OpenGL的程序框架后,载入一个三维 的模型首先要了解该模型的数据结构。以半条命游 戏引擎的ms3d格式为例,模型的结构包括模型的顶 点、三角面、网格面、材质等数据。在用OpenGL绘 制这些模型的时候都要考虑到这些。
目前主要使用的方法
• OpenGL
三、实时渲染
目前主要使用的方法
• OpenGL
三、实时渲染
目前主要使用的方法
• OpenGL
三、实时渲染
主要使用的方法
• OpenGL
三、实时渲染 载入卡通三维模型
右转30度
正常
左转30度Fra Baidu bibliotek
项目演示
Thank you!
• 三、特征提取
• 主要使用的是寻找角点的方法
• 检测出人脸后,绘制脸部轮廓的外接 矩形框,在矩形框内部设置感兴趣的 区域,寻找眼睛和嘴的角点。
主要使用的方法
• 目前的角点检测算法可归纳为3类: 基于灰度图像的角点检测、基于二值 图像的角点检测、基于轮廓曲线的角 点检测,角点是图像很重要的特征, 对图像图形的理解和分析有很重要的 作用。对灰度图像、二值图像、边缘 轮廓曲线的角点检测算法进行综述, 分析了相关的算法,并对各种检测算 法给出了评价。
主要使用的方法
• OpenCV
一、图像处理 平滑处理 降低噪声 中值滤波 开运算闭运算 寻找角点 模板匹配
主要使用的方法
• OpenCV 二、人脸检测
• 二值化处理后检测人脸比较容易。二 值化后,人脸的部分呈现白色(眼睛 和嘴除外),就可以很方便地检测出 来了。
主要使用的方法
• 效果图
主要使用的方法
主要使用的方法
• OpenGL
一、载入模型
未贴图的白模 模型的UVW展开贴图
最终效果
主要使用的方法
• OpenGL
二、模型控制
通过使用OpenGL的函数控制模型的视角,大小, 旋转角度等参数。比如旋转一定角度后的3d模型如 图所示:
主要使用的方法
• OpenGL
三、实时渲染
通过OpenCV传过来的变量参数控制OpenGL模型 的位置,旋转和表情动画等。比如在本项目中使用 OpenGL的参数yrot和OpenCV代码的参数angle.x共同 控制模型摇头的角度,以及使用OpenGL中定义的宏 CLOSE_EYE和OpenCV中的corner_count1参数控制模 型眼睛的动作。 这一模块需要与OpenCV的代码的良好的组合, 最后达到互动、实时渲染动画的效果。
项目完成状况
• OpenGL
OpenGL
载入模型
模型控制
实时渲染
载入3d 模型
模型旋转 载入贴图 视角变换 面部表情 实时动画 材质 缩放等
主要使用的方法
• OpenCV 一、图像处理
• 将RGB图像转换为HSV图像,即色调 (H),饱和度(S),亮度(V)。 调整色调,使其与皮肤的颜色相符, 再进行二值化。
项目名称:基于OpenCV和OpenGL的 实时动画生成系统的设计与实现
刘婧怡 高杨 岳思琪 邓健
主要内容
• 项目目标
• 项目完成状况
• 主要使用的方法 • 项目演示
项目目标
• 项目的最终目标
• 将从摄像头获取的人头部图像 实时地较准确地生成3D卡通动 画图像。
项目完成状况
• OpenCV
主要使用的方法
感兴趣区域的中心是通过角点检测的方法 实现的
主要使用的方法
• 综合两个感兴趣区域的中心点,最终 得到一个整体的中心点。这个中心点 是随着头部的转动而移动的,这样通 过计算即可得出这个中心点的具体坐 标,从而控制头部转动。
主要使用的方法
主要使用的方法
• OpenGL
一、载入模型
使用3dsmax等软件制作人头部模型,将模型导 入到OpenGL的框架中。 在构建好OpenGL的程序框架后,载入一个三维 的模型首先要了解该模型的数据结构。以半条命游 戏引擎的ms3d格式为例,模型的结构包括模型的顶 点、三角面、网格面、材质等数据。在用OpenGL绘 制这些模型的时候都要考虑到这些。
目前主要使用的方法
• OpenGL
三、实时渲染
目前主要使用的方法
• OpenGL
三、实时渲染
目前主要使用的方法
• OpenGL
三、实时渲染
主要使用的方法
• OpenGL
三、实时渲染 载入卡通三维模型
右转30度
正常
左转30度Fra Baidu bibliotek
项目演示
Thank you!
• 三、特征提取
• 主要使用的是寻找角点的方法
• 检测出人脸后,绘制脸部轮廓的外接 矩形框,在矩形框内部设置感兴趣的 区域,寻找眼睛和嘴的角点。
主要使用的方法
• 目前的角点检测算法可归纳为3类: 基于灰度图像的角点检测、基于二值 图像的角点检测、基于轮廓曲线的角 点检测,角点是图像很重要的特征, 对图像图形的理解和分析有很重要的 作用。对灰度图像、二值图像、边缘 轮廓曲线的角点检测算法进行综述, 分析了相关的算法,并对各种检测算 法给出了评价。
主要使用的方法
• OpenCV
一、图像处理 平滑处理 降低噪声 中值滤波 开运算闭运算 寻找角点 模板匹配
主要使用的方法
• OpenCV 二、人脸检测
• 二值化处理后检测人脸比较容易。二 值化后,人脸的部分呈现白色(眼睛 和嘴除外),就可以很方便地检测出 来了。
主要使用的方法
• 效果图
主要使用的方法
主要使用的方法
• OpenGL
一、载入模型
未贴图的白模 模型的UVW展开贴图
最终效果
主要使用的方法
• OpenGL
二、模型控制
通过使用OpenGL的函数控制模型的视角,大小, 旋转角度等参数。比如旋转一定角度后的3d模型如 图所示:
主要使用的方法
• OpenGL
三、实时渲染
通过OpenCV传过来的变量参数控制OpenGL模型 的位置,旋转和表情动画等。比如在本项目中使用 OpenGL的参数yrot和OpenCV代码的参数angle.x共同 控制模型摇头的角度,以及使用OpenGL中定义的宏 CLOSE_EYE和OpenCV中的corner_count1参数控制模 型眼睛的动作。 这一模块需要与OpenCV的代码的良好的组合, 最后达到互动、实时渲染动画的效果。
项目完成状况
• OpenGL
OpenGL
载入模型
模型控制
实时渲染
载入3d 模型
模型旋转 载入贴图 视角变换 面部表情 实时动画 材质 缩放等
主要使用的方法
• OpenCV 一、图像处理
• 将RGB图像转换为HSV图像,即色调 (H),饱和度(S),亮度(V)。 调整色调,使其与皮肤的颜色相符, 再进行二值化。