利用OpenCV自带的分类器识别面部及眼睛
OpenCV自带里许多分类器,可在haarcascades下载
获取面部
1 | // 获取面部 |
获取眼睛
1 | // 这里与上面相同(这里我只识别左眼,OpenCV还提供了其他文件可获取右眼和双眼) |
瞳孔定位
- 获取的眼睛图像
- 裁剪去除眉毛
- 伽马矫正提高图像对比度
- 转化为灰度图像
- 利用threshold进行阈值操作(此处可能会改为inRange,目前还在测试)
- 腐蚀
- 膨胀
- medianBlur平滑图像
- 检测关键点并画在图像上
1 | // 定位眼球 -> 检测关键点 |
附录
OpenCV在ArchLinux上的使用
1 | pacman -S opencv |
Cmake文件
1 | cmake_minimum_required(VERSION 3.14) |
利用安卓手机充当网络摄像头
手机安装这个IP Webcam,使用时会显示局域网中的地址
OpenCV中
1 | cv::VideoCapture cap("http://192.168.0.xx:8080/video"); // 这里为网络摄像头的地址,需要在后面加上/video |