1.人脸微笑识别,安装opencv-python库,使用命令

pip install opencv-python

2.找到人脸检测模型,haarcascade_frontalface_default.xml

3.找到微笑检测模型,haarcascade_smile.xml

4.人脸识别图片完整代码

import cv2# 人脸检测器
facePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(facePath)
# 笑脸检测器
smilePath = "haarcascade_smile.xml"
smileCascade = cv2.CascadeClassifier(smilePath)
img = cv2.imread("1.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 首先检测人脸,返回的是框住人脸的矩形框
faces = faceCascade.detectMultiScale(gray,scaleFactor= 1.1,minNeighbors=8,minSize=(10, 10),flags=cv2.CASCADE_SCALE_IMAGE
)
# 画出每一个人脸,提取出人脸所在区域
for (x, y, w, h) in faces:cv2.rectangle(img, (x, y), (x+w, y+h), (0, 0, 255), 2)roi_gray = gray[y:y+h, x:x+w]roi_color = img[y:y+h, x:x+w]# 对人脸进行笑脸检测smile = smileCascade.detectMultiScale(roi_gray,scaleFactor= 1.16,minNeighbors=35,minSize=(25, 25),flags=cv2.CASCADE_SCALE_IMAGE)# 框出上扬的嘴角并对笑脸打上Smile标签for (x2, y2, w2, h2) in smile:cv2.rectangle(roi_color, (x2, y2), (x2+w2, y2+h2), (255, 0, 0), 2)cv2.putText(img,'Smile',(x,y-7), 3, 1.2, (0, 255, 0), 2, cv2.LINE_AA)
cv2.namedWindow("Smile", cv2.WINDOW_NORMAL)  # 给定可以拉伸的窗口
cv2.imshow('Smile', img)
#cv2.imwrite("smile.jpg",img)
c = cv2.waitKey(0)

5.识别后图片展示

6.人脸视频识别完整代码

import cv2#导入opencv-python库即cv2库
# cap = cv2.VideoCapture(0)#打开内置摄像头
cap=cv2.VideoCapture("1.mp4")#写入视频的路径并赋予变量cap
face_xml = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
a= cv2.CascadeClassifier("haarcascade_smile.xml")#写入类型器的路径并给cv2.CascadeClassifier函数进行处理while(cap.isOpened()):#cap.isOpened()函数是判断该视频是否正确播放ret, frame = cap.read()#读取视频,第一个参数ret 为True 或者False,代表有没有读取到图片,第二个参数frame表示截取到一帧的图片if ret==True:gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)#将每一帧图片转为灰色以便接下来处理face = face_xml.detectMultiScale(gray,scaleFactor=1.1,minNeighbors=10,minSize=(10, 10),flags=cv2.CASCADE_SCALE_IMAGE)for (x, y, w, h) in face:cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)  # 绘制人脸方框face_gray = gray[y:y + h, x:x + w]face_color = frame[y:y + h, x:x + w]lefteye = a.detectMultiScale(face_gray,scaleFactor=1.1,minNeighbors=90,minSize=(3, 3),flags=cv2.CASCADE_SCALE_IMAGE)# 通过cv2.CascadeClassifier(cascPath).detectMultiScale函数进行人眼识别处理for (x1, y1, w1, h1) in lefteye:cv2.rectangle(face_color, (x1, y1), (x1+w1, y1+h1), (255, 0, 0), 2)cv2.putText(face_color, "smile", (x1, y1 - 5), cv2.FONT_HERSHEY_SIMPLEX,0.7, (0, 0, 255), 2)# 在原图的人脸上画出识别的矩形区域cv2.namedWindow("smile", cv2.WINDOW_NORMAL)  # 给定可以拉伸的窗口cv2.imshow('smile', frame)#创造一个facesFound窗口来展示每一帧的图片,使其类似以视频方式播放if cv2.waitKey(1) & 0xFF == ord('q'):#类似中断播放的按键,按q跳出循环终止播放breakelse:break#如果视频结束正常跳出循环终止播放
cap.release()#释放视频
cv2.destroyAllWindows()#将创建的所有的窗口毁灭

7.代码运行结果展示


8.希望学会的小伙伴一键三联

人脸微笑识别,满足你鉴别女神的微笑相关推荐

  1. SVM算法应用综合练习(2)--人脸微笑识别

    目录 前言 一.图片准备 二.代码 1.将人脸检测出来并对图片进行裁剪 2. 划分数据集 3.提取人脸并判别是否为笑脸 4.调用模型检测微笑 三.参考资料 前言 阅读附件1,利用所提供的人脸微笑数据集 ...

  2. Python人脸微笑识别2-----Ubuntu16.04基于Tensorflow卷积神经网络模型训练的Python3+Dlib+Opencv实现摄像头人脸微笑检测

    Python人脸微笑识别2--卷积神经网络进行模型训练目录 一.微笑数据集下载 1.微笑数据集下载 2.创建人脸微笑识别项目 3.数据集上传至Ubuntu人脸微笑识别项目文件夹 二.Python代码实 ...

  3. 利用人脸微笑数据集训练识别模型,完成对人脸图片微笑识别

    目录 一.数据集下载 二.提取人脸并判别是否为笑脸 (一)数据处理 (二)测试 三.视频识别并保存图片 四.总结 五.参考链接 一.数据集下载 1.链接:https://pan.baidu.com/s ...

  4. 【技术综述】人脸表情识别研究

    李振东 北京邮电大学硕士在读,计算机视觉方向 言有三 毕业于中国科学院,计算机视觉方向从业者,有三工作室等创始人 作者 | 李振东/言有三 编辑 | 言有三 随着机器学习和深度神经网络两个领域的迅速发 ...

  5. 腾讯大佬总结的人脸表情识别技术

    李振东 北京邮电大学硕士在读,计算机视觉方向 言有三 毕业于中国科学院,计算机视觉方向从业者,有三工作室等创始人 作者 | 李振东/言有三 编辑 | 言有三 随着机器学习和深度神经网络两个领域的迅速发 ...

  6. 【项目实战课】AI零基础,人人免费可学!基于Pytorch的SimpleNet人脸表情识别实战...

    欢迎大家来到我们的项目实战课,本期内容是<基于SimpleNet的人脸表情识别实战>,本次内容面向任意AI基础的读者,人人皆可免费学习. 所谓项目实战课,就是以简单的原理回顾+详细的项目实 ...

  7. 基于dlib库进行微笑识别和口罩识别

    环境配置 tensorflow和keras参考我之前的博客https://blog.csdn.net/A981012/article/details/106650686 下载dlib库不能从anaco ...

  8. GPUImage实现人脸实时识别

    最近在研究OC的生物活检方面的实现,发现SDK中自带有相应的功能类,则进行了调研与实现. 实现过程中发现一个比较坑人的一个地方,就是GPUIMAGE这个框架里面对于视频采集使用的YUV格式,而YUV格 ...

  9. 基于堆栈二值化自动编码器和二值化神经的无约束人脸表情识别算法(An efficient unconstrained FERa based on BAEs and BNN)

    摘要(abstract) 虽然深度学习在许多模式识别任务中都取得了良好的效果,但对于含有大量参数集.标记数据有限的深度网络,过拟合问题仍然是一个严重的问题.在这项工作中,二进制自动编码器(BAEs)和 ...

最新文章

  1. 【Machine Learning】K-means算法及C语言实现
  2. 实训课俄罗斯方块之二授课计划总体规划
  3. ViewRoot,DecorView,MeasureSpec和View的工作原理——Android开发艺术探索笔记
  4. 28、jdbc操作数据库(5)
  5. LF 第一模块 考试总结
  6. linux 下Eclipse for C/C++的不常见设置
  7. 16.企业应用架构模式 --- 离线并发模式
  8. Dubbo分析之Registry层
  9. Charles 抓包工具绿化过程记录
  10. 虚拟机怎样使用代理服务器上网,VMware虚拟机使用NAT模式上网的方法
  11. Groovy的规则脚本引擎实战
  12. TOP 1比不加TOP慢的疑惑
  13. 直播回顾 | 云原生混部系统 Koordinator 架构详解(附完整PPT)
  14. 终于做了这个决定, 准备认认真真的学习java啦,
  15. java爬虫(本地爬虫和网络爬虫)
  16. 由计算机病毒引起的现象,计算机病毒的症状
  17. 调用 SSPI 失败,请参见内部异常 解决方法
  18. Delphi中票据条码的打印中(像素)和厘米的换算关系
  19. [python][企业微信]企业微信自动打卡Python脚本,价值一万元的自动打卡脚本
  20. html编写程序员计算器,程序员计算器

热门文章

  1. Linux虚拟内存交换空间,Linux 添加 Swp 虚拟内存交换空间
  2. 图片怎么转换成pdf格式?其实图片转换为pdf很简单
  3. 如何用计算机制作公式,电脑公式怎么用
  4. 如何不花钱弄一个炫酷壁纸轮播?一篇文章带你实现~
  5. Keepalived与HaProxy的协调合作原理分析
  6. 【论文翻译】DeepWalk: Online Learning of Social Representations
  7. deepwalk 代码实战
  8. springMvc14-the superclass “javax.servlet.http.HttpServlet” was not found
  9. 别小看空格对网页布局的危害
  10. 【Docker系列】Docker Compose 服务依赖和健康检查