EduCoder:人脸识别系统——OpenCV人脸检测

第1关:图片基本操作

编程要求:

请在右侧编辑器中的BEGIN-END之间编写代码,完成如下要求:

  • 导入openCV库(cv2);

  • 读取路径 step1/image/girl.jpg下的图片(图片读取模式三种任选一种都可以);

  • 将读取到的图片保存到路径 step1/out/girl-new.jpg下。

代码如下:

'''****************BEGIN****************'''
# 导入OpenCV库
import cv2
'''**************** END ****************'''# 原始图片路径
image_path = 'step1/image/girl.jpg'
# 保存图片路径
save_image_path = 'step1/out/girl-new.jpg''''****************BEGIN****************'''
# 读取图片并保存图片
img = cv2.imread(image_path,1)
cv2.imwrite(save_image_path,img)
'''**************** END ****************'''

第2关:色彩空间及其转换

编程要求:

请在右侧编辑器中的BEGIN-END之间编写代码,完成如下要求:

  • 将图片的色彩空间转换为灰度空间;

  • 将处理后的图片保存到路径step2/out/girl-gray.jpg下。

代码如下:

import cv2# 加载图片
filename = "step2/image/girl.jpg"
img = cv2.imread(filename)'''****************BEGIN****************'''
# 将图片的色彩空间由BGR转换GRAY
output_img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
'''**************** END ****************'''save_image_path = "step2/out/girl-gray.jpg"
'''****************BEGIN****************'''
# 保存图片
cv2.imwrite(save_image_path,output_img)'''**************** END ****************'''

第3关:基于Harr特征的人脸检测分类器

编程要求:

请在右侧编辑器中的BEGIN-END之间编写代码,调用Harr完成人脸识别,具体任务如下:

  • 读取图片;

  • 转化图片为灰度图片;

  • 声明人脸检测器;

  • 调用人脸检测函数,scaleFactor参数设定为1.3, minNeighbors参数设定为5。

代码如下:

import numpy as np
import cv2'''****************BEGIN****************'''
# 读取图片
image_path = 'step3/image/face.jpg'
img = cv2.imread(image_path)
# 转换为灰度图片
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 人脸检测器
modle_path = 'sample/data/haarcascades/haarcascade_frontalface_default.xml'
face_cascade =cv2.CascadeClassifier(modle_path)
# 识别人脸
faces = face_cascade.detectMultiScale(gray_img, 1.3, 5)
'''**************** END ****************'''print(faces)

第4关:绘制人脸与人眼区域

编程要求:

请在右侧编辑器中的BEGIN-END之间编写代码,调用Harr完成人脸识别,具体任务如下:

  • 绘制人脸区域;

  • 调用眼睛检测模型,识别眼睛区域;

  • 绘制眼睛区域。

代码如下:

import cv2
# 读取图片
img = cv2.imread('step4/image/girl.jpg')
# 转换为灰阶图片
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 人脸检测器
face_cascade = cv2.CascadeClassifier('sample/data/haarcascades/haarcascade_frontalface_default.xml')
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
# 绘制人脸区域
for (x,y,w,h) in faces:print(x,y,w,h)'''****************BEGIN****************'''# 在人脸区域添加矩形框cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),2)face_gray = gray[y:y+h, x:x+w]#原图像的脸部区域face_area = img[y:y+h, x:x+w]'''**************** END ****************'''#绘制眼睛区域path_of_haarcascade_eye = "sample/data/haarcascades/haarcascade_eye.xml"eye_cascade = cv2.CascadeClassifier(path_of_haarcascade_eye)eyes = eye_cascade.detectMultiScale(face_gray)'''****************BEGIN****************'''for (ex,ey,ew,eh) in eyes:print(ex,ey,ew,eh)# 在眼睛区域添加矩形框cv2.rectangle(face_area,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)'''**************** END ****************'''# 保存图片
save_image_path = "step4/out/girl-drawing.jpg"
cv2.imwrite(save_image_path,img)

人脸识别系统——OpenCV人脸检测相关推荐

  1. 【EduCoder答案】人脸识别系统——OpenCV人脸检测

    简介 答案查询的入口网页版 其他各类实训答案的目录见这里 答案获取的方法简介见这里 并不是所有的关卡都有答案,有些只有部分关卡有 不要直接复制答案哦 人脸识别系统 -- OpenCV人脸检测 > ...

  2. 头歌--人脸识别系统--OpenCV人脸检测

    目录 第1关:图片基本操作 第2关:色彩空间及其转换 第3关:基于Harr特征的人脸检测分类器 第4关:绘制人脸与人眼区域 第1关:图片基本操作 '''****************BEGIN*** ...

  3. 人脸识别系统 —— OpenCV人脸检测

    第1关:图片基本操作 '''****************BEGIN*******

  4. 人脸识别系统——Dlib人脸检测

    EduCoder平台:人脸识别系统--Dlib人脸检测 第1关:HOG特征描述方法 编程要求: 请在右侧编辑器中的BEGIN-END之间编写代码,完成如下要求: 声明OpenCV中的HOG特征描述方法 ...

  5. Python | 人脸识别系统(人脸识别、活体检测、背景模糊、关键点检测)

    本博客为人脸识别系统项目简介 项目GitHub完整源代码地址:Su-Face-Recognition: A face recognition for user logining 一.运行环境 本系统能 ...

  6. 人脸识别系统——Dlib人脸识别

    EduCoder平台:人脸识别系统--Dlib人脸识别 第1关:dlib人脸检测的基本原理 编程要求: 请在右侧编辑器中的BEGIN-END之间编写代码,使用Dlib识别人脸并输出识别结果: 计算已知 ...

  7. 人脸识别系统OpenCV+dlib+python(含数据库)Pyqt5界面设计 项目源码 毕业设计

    一.项目主要技术 Python语言.dlib.OpenCV.Pyqt5界面设计.sqlite3数据库 本系统使用dlib作为人脸识别工具,dlib提供一个方法可将人脸图片数据映射到128维度的空间向量 ...

  8. 一张照片就能攻破人脸识别系统,人脸识别安全性亟需提高

    如今,看一眼手机,就能唤醒屏幕进行刷脸解锁.逛完超市,双手提着购物袋,看一眼收银台的终端设备,就能刷脸支付.如此便利的体验,都缘于人脸识别技术的普及. 不过,"刷脸"在给人们日常生 ...

  9. 基于 PCA 的人脸识别系统及人脸姿态分析

    文章目录 1 PCA 1.1 原理 1.2 算法流程 1.2.1 零均值化 1.2.2 计算协方差矩阵 1.2.3 特征值和特征向量 1.2.4 降维得到 K 维特征 1.2.5 PCA 的优缺点 2 ...

最新文章

  1. oracle数据库备份恢复篇(一)
  2. docker的学习总结
  3. 400 多页的 Java 面试笔记,各个公司面试真题!
  4. 跨服务器导入数据sql
  5. Word新建自己的样式
  6. 【原】oracle11g 客户端安装检测失败问题
  7. python双手打字_Python打字练习小游戏源代码
  8. 单片机数据上传到阿里云物联网平台后,如何在手机端和网页端获取获取数据?
  9. 智能定位系统实验报告
  10. 埃森哲java转sfdc_【SFDC salesforce职责】2021年埃森哲SFDC salesforce岗位职责-看准网...
  11. 20190121——不羡神仙 Java抽象工厂模式
  12. 【面试题】对闭包的理解?什么是闭包?
  13. 【专升本计算机】计算机操作系统练习题(选择判断名词解释简答)
  14. 手机通过wifi获取电脑共享的文件----诺基亚远程驱动器篇
  15. mycat-读写分离
  16. pptv泥够了!pptv“关闭”事件为营销炒作坐实!
  17. 计算机物流管理,大学饮食管理计算机物流管理程序作用
  18. Broadcom NetXtreme II网卡驱动安装小记
  19. vivado常见IP介绍
  20. 修改android屏幕DPI

热门文章

  1. onAttachedToWindow和onDetachedFromWindow的调用时机分析
  2. 【K3s】第1篇 K3s入门级介绍及架构详解
  3. WPF DataGrid 表头筛选
  4. 分子动力学模拟学习——VMD安装
  5. mysql中查看图片_查询已存入数据库中的图片,并显示出来
  6. 实现断网收银_推拿按摩门店需要什么样的收银管理系统?
  7. yoga tab3 linux,续航达19小时 联想YOGA Tab 3 Plus详评
  8. 燕十八公益教程-学习感想
  9. 实验一 DES加密算法编程实现
  10. 过年了,给亲朋好友解释「啥是程序员」