一. 人眼检测
OpenCV自带的人眼检测,代码及教程都已比较普及,这里不再啰嗦,训练模板直接 load已经训练好的文件:
haarcascade_eye_tree_eyeglasses.xml,直接看代码:
/* linolzhang 2014.10
基于OpenCV的人眼检测 - Cascade
*/
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#pragma comment(lib,"opencv_core2410.lib")
#pragma comment(lib,"opencv_objdetect2410.lib")
#pragma comment(lib,"opencv_highgui2410.lib")
using namespace cv;
int main(int argc, char** argv)
{
Mat src;
if(argc != 2)
src = imread("1.png");
else
src = imread(argv[1]);
CascadeClassifier eye_cascade;
eye_cascade.load("haarcascade_eye_tree_eyeglasses.xml");
std::vector<Rect> eyes;
eye_cascade.detectMultiScale( src, eyes, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, Size(30, 30) );
for(int i=0; i<eyes.size(); i++)
rectang