![粤高教版八年级下册信息技术第2单元第4课 检测图像中的人脸 课件第1页](http://img-preview.51jiaoxi.com/2/14/14315129/0/0.jpg?x-oss-process=image/resize,w_794/sharpen,100)
![粤高教版八年级下册信息技术第2单元第4课 检测图像中的人脸 课件第2页](http://img-preview.51jiaoxi.com/2/14/14315129/0/1.jpg?x-oss-process=image/resize,w_794/sharpen,100)
![粤高教版八年级下册信息技术第2单元第4课 检测图像中的人脸 课件第3页](http://img-preview.51jiaoxi.com/2/14/14315129/0/2.jpg?x-oss-process=image/resize,w_794/sharpen,100)
![粤高教版八年级下册信息技术第2单元第4课 检测图像中的人脸 课件第4页](http://img-preview.51jiaoxi.com/2/14/14315129/0/3.jpg?x-oss-process=image/resize,w_794/sharpen,100)
![粤高教版八年级下册信息技术第2单元第4课 检测图像中的人脸 课件第5页](http://img-preview.51jiaoxi.com/2/14/14315129/0/4.jpg?x-oss-process=image/resize,w_794/sharpen,100)
![粤高教版八年级下册信息技术第2单元第4课 检测图像中的人脸 课件第6页](http://img-preview.51jiaoxi.com/2/14/14315129/0/5.jpg?x-oss-process=image/resize,w_794/sharpen,100)
![粤高教版八年级下册信息技术第2单元第4课 检测图像中的人脸 课件第7页](http://img-preview.51jiaoxi.com/2/14/14315129/0/6.jpg?x-oss-process=image/resize,w_794/sharpen,100)
![粤高教版八年级下册信息技术第2单元第4课 检测图像中的人脸 课件第8页](http://img-preview.51jiaoxi.com/2/14/14315129/0/7.jpg?x-oss-process=image/resize,w_794/sharpen,100)
所属成套资源:粤高教版(2018)信息技术八年级下学期PPT课件+教学设计全套
初中信息技术粤高教版 (2018)八年级下册*第4课 检测图像中的人脸——0penCV库的应用图文课件ppt
展开
这是一份初中信息技术粤高教版 (2018)八年级下册*第4课 检测图像中的人脸——0penCV库的应用图文课件ppt,共39页。PPT课件主要包含了新知导入,新知讲解,分析问题,学习新知,一OpenCV库,二分类器,关闭所有窗口,设计算法,cv2imread,cv2imshow等内容,欢迎下载使用。
图 2-4-1 支付宝人脸识别
图 2-4-2 手机拍照的人脸检测
本课的任务是编写程序从图片中找出所有人的脸,并对每一张脸用矩形框做出标记,如图2-4-3所示:
图 2-4-3 图像中的人脸检测效果
程序要解决的关键问题:一是如何调用人脸分类器文件创建人脸检测器以检测图像中的人脸;二是如何获得图像中的人脸范围的数据,并在图像上用图形绘制人脸范围的标记。 要解决这两个问题,在程序中需要利用到OpenCV库。
在DOS方式中安装OpenCV库的命令为:
pip install pencv-pythn
在Pythn中导入OpenCV库(cv2)的命令为:
imprt cv2
#car_face.pyimprt cv2 #导入cv2库#读入待检的图像文件,存到img中img=cv2.imread(‘images/catl.jpg’)#创建名为face的猫脸检测器face=cv2.CascadeClassifier(‘haarcascade_frntalcatface.xml’)#将img中的图像转为灰度图像,存到gray中
gray=cv2.cvtClr(img,cv2.COLOR_BGR2GRAY)faces=faces.detectMultiScale(gray,1.2,5) #检测gray中所有的猫脸fr (x,y,w,h) in face: #从列表face中读取所有的猫脸数据#在每张猫脸上画矩形框 cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),3)cv2.imshw(‘result’,img) #在result窗口中显示已检测的图像cv2.waitKey(0) #按任意键退出cv2.destryAllWindws() #关闭所有窗口
运行猫脸检测程序cat_face.py,了解猫脸检测的流程,体会各函数的作用,并将表2-4-1补充完整。
表 2-4-1 cv2库的部分函数
在指定窗口中显示所有检测到的图像
用矩形框标注检测到的猫脸
根据前面图像中人脸检测的任务分析,参考猫脸检测的流程,实现图像中人脸检测的算法思路如下:
1、导入cv2库2、读入人脸检测图像3、创建人脸检测器4、对图像进行灰度处理,进行人脸检测5、根据检测到的人脸数据,用矩形框标注人脸6、显示标注人脸后的图像
四、编写程序(一)读入图像
读入图像是人脸检测的第一步,我们先用cv2的函数读入一个图像并显示出来。
完善并运行程序human_face.py,读入和显示待检测人脸的图像,观察运行结果。
# human_face.py imprt cv2 #导入cv2库img=______________(‘images/face1.jpg’) #从文件夹face1.jpg中读入图像文件face1.jpg_____________(‘result’,img) #在result窗口显示图像cv2.waitKey(0) #按任意键退出cv2.destryAllWindws() #关闭所有窗口
(二)检测图像中的人脸
在读入图像后,接下来需要创建人脸检测器进行人脸检测,并根据检测到的人脸数据用矩形框标注人脸区域。
face=cv2.CascadeClassifier(‘haarcascade_frntalface_default.xml’)
用cv2.CascadeClassifier()函数创建一个名为face的人脸检测器,代码如下。
其中,参数“haarcascade_frntalface_default.xml”是人脸检测器文件
(1)用cv2.cvtclr()将img中的图像转换为灰度图像,存放在gray中
gray=cv2.cvtClr(img,cv2.COLOR_BGR2GRAY)
其中,参数cv2.COLOR_BGR2GRAY表示将img中的图像转换为灰度图像,检测灰度图像可以降低计算强度,加快检测速度
face=face.detectMultiScale(gray,1.1,3)
(2)用face.detectMultiScale()函数检测图像中的人脸
函数名detectMultiScale()前要加上前面定义的检测器对象名称“face”作为前缀。函数的第一个参数gray中存放的是前面以转换的灰度图像;第二个参数1.1表示待检测图像在多次扫描中,会逐步按1:1:1的比例缩小进行扫描;第三个参数3表示每一张人脸至少要检测到3次才确定为人脸。检测结果包含人脸区域左上角的坐标、人脸的宽度和高度,存放到face元组中。
fr (x,y,w,h) in faces: cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),4)
用fr循环读取face中的所有人脸数据,获得每张人脸区域的左上角坐标(x,y)、宽w和高h,逐一用cv2.rectangle()函数的原图像img上画矩形。
该函数的参数含义如图2-4-4所示
图2-4-4 cv2.rectangle() 函数参数的含义
在程序human_face.py的基础上,添加创建人脸检测器、检测人脸区域和标注人脸区域的代码,完成人脸检测程序,然后用该程序检测班级活动照片中的人脸。
车牌自动识别系统随处可见,该系统首先要做的是车牌检测,请利用教材配套资源中的车辆图像和车牌特征分类器文件,编写一个车牌检测程序,检测结果按图2-4-5所示用矩形框标出来
图 2-4-5 车牌检测
1、在Pythn中导入OpenCV库的命令是_______________2、cv2库的______________函数可以读入一个图像,_______________函数用来在指定窗口中显示图像
cv2.imread()
cv2.imshw()
3、在本课人脸检测程序中,关于语句faces=face.detectMultiScale(gray,1.2,4),下列说法错误的是( ) A、detectMultiScale()函数用来检测人脸 B、检测到的人脸数据存放在faces列表中 C、参数1.2表示每次扫描后将图像缩小20%,再进行下一次扫描 D、参数4表示最多检测到的人脸个数为4
4、请完善下列程序,在图’pht.jpg’中画出线条宽度为5的红色圆
#image.pyimprt cv2clr=(0,0,255) #将红色值存到clr中img=cv2._________(‘pht.jpg’) #读入图像cv2.circle(______,(480,300),100,clr,___) #画一个半径100的圆cv2.imshw(‘image’,img)cv2.waitKey(0)cv2.destryAllWindws()
5、完成表2-4-2的学习评估,并将评估等级填写到“我的成长记录袋”中。
表2-3-1 学习评估表
一、用函数cv2.CascadeClassifier()和人脸分类(‘haarcascade_frntalface_default.xml’)器创建人脸检测器,存在face中二、检测人脸区域(1)用cv2.cvtclr()将img中的图像转换为灰度图像,存放在gray中
(2)用face.detectMultiScale()函数检测图像中的人脸三、标注人脸区域
相关课件
这是一份初中信息技术粤高教版 (2018)八年级下册第3课 生成登录验证码——PIL库的应用评课ppt课件,共38页。PPT课件主要包含了新知导入,新知讲解,分析问题,学习新知,一PIL库,设计算法,实践与创作,图2-3-3,检测与评估,拓展新知等内容,欢迎下载使用。
这是一份初中信息技术粤高教版 (2018)八年级下册第二单元 实用程序我来编第2课 绘制函数图象——matplotlib与numpy库的应用示范课课件ppt,共45页。PPT课件主要包含了新知讲解,新知导入,分析问题,学习新知,图2-2-2,图2-2-3,图2-2-4,pyplot模块,二numpy库,设计算法等内容,欢迎下载使用。
这是一份粤高教版 (2018)八年级下册第1课 加法心算游戏——random与time模块的应用集体备课ppt课件,共38页。PPT课件主要包含了新知导入,新知讲解,分析问题,学习新知,一函数与库,三time模块,圆周率3142,设计算法,t2t1+60,True等内容,欢迎下载使用。