我们的项目做的是把人的照片转为三维头像。这其中需要将人脸轮廓提取出来,根据照片得到人头模型,把人的照片作成贴图,贴在模型上。
我们小组原本打算用SFS得到人脸模型,但深入研究了以后发现SFS是个很高端的领域,难度过大,于是我们决定先做出一个普通人脸模型,然后根据照片调整这个人脸模型。
由于我主要负责人脸模型的建立,在这里我主要讲讲如何用OpenGL将模型读入。
首先介绍一下OpenGL。
OpenGL全称Open Graphics Library,既开放的图形程序接口,它是在行业领域中最为广泛接纳的2D/3D图形API,虽然Direct3D也是十分优秀的图形API,但它只用于Windows系统。而OpenGL不仅用于Windows,还可以用于,Unix/Linux等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。并且OpenGL的基本命令都做到了与硬件无关,甚至是平台无关。
更重要的是它和C语言密切结合,对于学过C语言的人来讲容易上手。如果你想用计算机作图但不知道从何下手,如果你只会C语言,建议你学OpenGL。
这里的OBJ文件,并不是我们编程的时候出现的,用于编译应用程序的文件。这里的OBJ文件是指Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种标准