毕设是一个人脸识别项目,为了顺利毕业,不得不学习opencv. 作为一个菜菜鸟,只能借鉴别人例子后再实现自己所要的功能。而且之前一直用的是java编程,可导师希望我用C++编程,这样只能硬着头皮去以龟速前进了。
初学opencv,什么都不会。只能“拿来主义”,把别人的写好的东西,自己组合下,望各位大牛们指点。
功能很简单,由于以后的人脸识别中要用的是灰度图像,所以先把一幅图片转化成灰度图片,再去检测图片中的人脸(但我发现这个过程中会有些误差,比如有时把图片总的非人脸检测成了人脸,不明opencv检测函数,只能“睁一只眼闭一只眼”),最后把检测出来的人脸归一化为固定大小保存到文件中。
过程感觉比较简单,没什么可再说的了,直接贴代码:
由于之前的代码在文件存储处有bug,现在重改下代码。
#include "stdafx.h"
#include "highgui.h"
#include <cv.h>
#include <cvaux.h>
#include <iostream>
#include <string>
#include <sst