flip(image, flippedImage, -1): 水平和垂直同时翻转
flip 函数有三个参数,分别是:
**image:**输入图像,即需要进行翻转的原始图像。
**flippedImage:**输出图像,即翻转后的图像将存储在这里。
这里使用 flip(frame, frame, 1);即可改变原图形
## 3. 人脸检测
### 1.图像处理
1. 将摄像头画面由rgb(彩色)转换为gray(灰度图)
#include <opencv2/imgproc.hpp> //所需头文件
#include <opencv2/objdetect.hpp>
cvtColor(frame,Grayimage,CV_BGR2GRAY);//将彩色图转换从灰度图 其中frame是初始Mat容器所存放的画面流,
//Grayimage是转换后的图像 CV_BGR2GRAY是参数
2. 图形均衡化(调整亮度,对比度)
equalizeHist(InputArray src,OutputArray dst); //函数参数说明
equalizeHist(Grayimage,Grayimage); //进行均衡化处理,将处理后的图形进行覆盖(节约内存)
### 2.人脸轮廓检测
1. 加载级联分类器(CascadeClassifier)(关于级联分类器相关[可参考]( ))
Ubuntu:/usr/share/opencv/haarcascades$ ls
haarcascade_eye_tree_eyeglasses.xml
haarcascade_eye.xml
haarcascade_frontalcatface_extended.xml
haarcascade_frontalcatface.xml
haarcascade_frontalface_alt2.xml
haarcascade_frontalface_alt_tree.xml
haarcascade_frontalface_alt.xml
haarcascade_frontalface_default.xml
haarcascade_fullbody.xml
haarcascade_lefteye_2splits.xml
haarcascade_licence_plate_rus_16stages.xml
haarcascade_lowerbody.xml
haarcascade_profileface.xml
haarcascade_righteye_2splits.xml
haarcascade_russian_plate_number.xml
haarcascade_smile.xml
haarcascade_upperbody.xml
//这里我们使用OpenCV训练好的级联分类器进行人脸轮廓检测,可在构造函数中声明即可
classifier.load(“/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml”);
if (c