回家第一天感觉好无聊,一天睡了十几个小时,电视剧也看完了,就玩玩Python调用笔记本摄像头并实现人脸检测。

我们使用的是Python中的opencv库实现人脸检测,前面已经有一篇博客介绍如何下载opencv库,今天,我们就用opencv库实现摄像头的调用及人脸检测。

1.调用摄像头

首先介绍一下如何调用笔记本的摄像头,这里我们使用opencv库中的VideoCapture()函数创建摄像头对象,其参数为0是表示调用第一个摄像头,一般就是笔记本的内置摄像头。

import cv2
#定义摄像头
cap = cv2.VideoCapture(0)

调用完成摄像头后,我们要逐帧显示,这里我们就要用到while函数不断显示摄像头获取的每一帧图像,当检测到退出‘q’时,退出,释放摄像头,并销毁所有窗口:

while(1)ret,frame = cap.read()#读取每一帧cv2.imshow('摄像头',frame)#显示每一帧if cv2.waitKey(1) & 0xFF == ord(q):break
cap.release()
cv2.destroyAllWindows()   

2.人脸检测

人脸检测属于目标检测中的一部分,主要包括两个方面:

①首先是对待检测的目标进行特征提取,并建立相应的检测模型;

②然后用建立的模型去检测输入的图像,如果有待检测目标,就框选出相应的区域。

常用的人脸检测算法有基于Harr特征的人脸检测器、基于LBP特征的人脸检测器等,训练模型需要大量的数据,opencv中给我们提供了训练好的模型,我们下载opencv库中会有相应的数据,我们可以直接使用进行人脸检测,如果没有相应的文件可以去Github上下载:https://github.com/opencv/opencv/tree/master/data/haarcascades

下面我们使用opencv中训练好的模型进行人脸检测:

#Python中实现视频流中的人脸检测
import cv2
cap = cv2.VideoCapture(0)
face = cv2.CascadeClassifier(r'C:\\Users\\Administrator\\Anaconda3\\Lib\\opencv-master\\opencv-master\\data\\haarcascades\\haarcascade_frontalface_default.xml')
eye =  cv2.CascadeClassifier(r'C:\\Users\\Administrator\\Anaconda3\\Lib\\opencv-master\\opencv-master\\data\\`\\haarcascade_eye.xml')
smile = cv2.CascadeClassifier(r'C:\\Users\\Administrator\\Anaconda3\\Lib\\opencv-master\\opencv-master\\data\\haarcascades\\haarcascade_smile.xml')
while(1):ret,frame = cap.read()gray = cv2.cvtColor(frame,cv2.COLOR_RGB2GRAY)faces = face.detectMultiScale(gray,1.1,3,0,(200,100))for (x,y,w,h) in faces:img = cv2.rectangle(frame,(x,y),(x+w,y+h),(255,255,0),2)gray_roi = gray[y:y+h,x:x+h]eyes = eye.detectMultiScale(gray_roi,1.02,3,0,(50,50))for (ex,ey,ew,eh) in eyes:cv2.rectangle(img,(x+ex,y+ey),(x+ex+ew,y+ey+eh),(0,255,0),2)smiles = smile.detectMultiScale(gray,1.1,3,0,(100,100))for (sx,sy,sw,sh) in smiles:cv2.rectangle(frame,(sx,sy),(sx+sw,sy+sh),(0,255,255),2)cv2.imshow('摄像头',frame)if cv2.waitKey(1) & 0xFF == ord('q'):break
cap.release()
cv2.destroyAllWindows()

今天没洗头,我就不上图了,大家自行运行看下效果吧!!!滑稽脸~~~

每天进步一点点~

Python调用笔记本摄像头,并实现人脸检测功能相关推荐

  1. python调用笔记本摄像头

    在这里主要利用到一个库: opencv-python 如果没有安装这个库的小伙伴们可以使用pip install opencv-python进行下载安装 首先,import一下opencv库 impo ...

  2. Python+OpenCV 调用手机摄像头并实现人脸识别

    文章内容: 1.windows 环境下安装 OpenCV 机器视觉环境搭建: 2.基于通过 Python+OpenCV调用手机摄像头并实现人脸检测识别. 目录 1 实验环境 2 实验准备 2.1 下载 ...

  3. python opencv调用笔记本摄像头 - python

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 通过查看书籍,自己总结了一下,怎样用python代码实现调用笔记本摄像头的功能. 这主要是通过opencv中cv2模块来 ...

  4. 利用opencv调用笔记本摄像头--python

    通过查看书籍,自己总结了一下,怎样用python代码实现调用笔记本摄像头的功能. 这主要是通过opencv中cv2模块来实现这个功能.其中是调用cv2中的函数,比如:imread()函数,imshow ...

  5. ROS调用笔记本摄像头和外界摄像头问题汇总(本人亲身经历)非常好用

    ROS调用笔记本摄像头和外界摄像头问题汇总(本人亲身经历) 运行打开摄像头命令必须在主虚拟机运行 一.video0找不到 本人想要调用笔记本摄像头完成一些基本的标定时候,遇到问题: 或者执行命令: l ...

  6. python调用海康相机进行Apriltag检测

    python调用海康相机进行Apriltag检测 第一章:win10下安装Apriltag库 1.安装Apriltag库 打开cmd输入 pip install pupil-apriltags 这个是 ...

  7. VM下ubuntu cheese调用笔记本摄像头,解决黑屏问题

    1.报错: VM下ubuntu14.04 cheese调用笔记本摄像头,解决USB webcam 驱动程序错误 解决: 默认是不连接电脑摄像头的,所以要手动打开摄像头.点击右下角图标连接即可. 2.不 ...

  8. python调用手机摄像头,并保存视频

    python调用手机摄像头,并保存视频 说明:手机端安装IP摄像头APP,并开启 代码如下: # -*- coding: utf-8 -*- """ Created on ...

  9. android关闭人脸检测功能,【Android知识】录像预览模式下打开人脸检测

    开发的一款高通平台Android 9.0基于Camera2实现的预览界面通过侧键实现拍照,录像等功能的应用中,预览界面默认是采用的原生的VideoModule.java界面实现,测试发现设置中开启人脸 ...

最新文章

  1. 新兴内存技术准备突围
  2. ASP.NET-Cookies的用法
  3. 移植opencv2.4.9到itop4412开发板
  4. 奇瑞汽车鸿蒙系统,华为鸿蒙OS系统汽车来了!国产汽车巨头奇瑞全球首发:开启崛起之路...
  5. php gif裁剪,PHP实现图片裁剪与缩放的几种方法
  6. win2003 shutdown命令
  7. flutter 日历_Flutter:一个更贴近真实项目的练习
  8. POJ - 3678 Katu Puzzle(2-SAT)
  9. Codefroces1077F2. Pictures with Kittens (hard version)
  10. python 递归函数例子_python函数递归的几个例子
  11. 长期豪赌人工智能,Alphabet是怎样一步一步偷偷改变世界的?
  12. 如何在centos上安装epel源
  13. NSMapTable、NSHashTable与NSPointerArray的封装
  14. 四针角oled屏连接arduino_和孩子一起做个显示温湿度的oled屏桌面摆件[青创小电视]...
  15. clion eap 预览版 免费版
  16. Golang 中 RSA 算法的使用
  17. ICCV 2021|“白嫖”性能的MixMo,一种新的数据增强or模型融合方法
  18. 读论文看到的好的英文词句表达
  19. 单片机软件反破解 Hex反破解 破解后的hex不能量产
  20. 经济学原理(超星尔雅)

热门文章

  1. 攻防世界-PWN-Challenge-Wirteup
  2. 杭州电信域名解析服务器,国内电信域名解析服务器DNS分布表.doc
  3. 「SQL面试题库」 No_30 超过5名学生的课
  4. 五年时间,专科学历让我懂得了互联网
  5. Schedule Management
  6. 微信小程序-订单页面——可左右滑动(附源码)
  7. PTA C语言结构体 7-5 复数四则运算 (15 分)
  8. Python之 DataFrame每一列除以一个series
  9. MFC对话框中的汉字出现问号的解决办法
  10. 莫队——BZOJ3289 Mato的文件管理