opencv人脸检测入门实践

1.显示图片
img导入图片的路径一定要正确,不能用中文名,反斜线,加后缀jpg,记得查看图片格式,如果不是jpg,要用画图工具重新存一下存成jpg,jpeg也是识别不出来的。

#1.导入库
import cv2
#2.加载图片
img = cv2.imread('E:/fig_data/yy_3.jpg')
#之前imshow一直报错说要显示长宽都大于零的,说明img没有读进去,路径出问题了!!!
#3.显示图片
cv2.imshow('chuangkou',img)
#4.暂停窗口
cv2.waitKey(0)
#5.关闭窗口
cv2.destroyAllWindows()

在这里插入图片描述
2.在图片里面检测人脸

#1.导入库
import cv2
#2.加载图片
img = cv2.imread('E:/fig_data/yy_2.jpg')
#3.加在人脸模型
face = cv2.CascadeClassifier('D:/python/anaconda/Anaconda/Library/etc/haarcascades/haarcascade_frontalface_default.xml')
#4.调整图片灰度(人脸识别没必要识别颜色,灰度图像提高性能)
gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
#5.检查人脸
faces = face.detectMultiScale(gray)
#6.标记人脸
for (x,y,w,h) in faces:
    cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
    #里面有参数,第一个是图片,第二个是坐标原点,第三个是识别大小,后面是颜色rgb,线宽
#7.显示图片
cv2.imshow('chuangkou',img)
#8.暂停窗口
cv2.waitKey(0)
#9.关闭窗口
cv2.destroyAllWindows()

在这里插入图片描述
3.调用摄像头

#1.导入库
import cv2
#2.打开摄像头
capture = cv2.VideoCapture(0)
#3.获取摄像头实时画面
while capture.isOpened():
    #读取摄像头帧画面
    rec,frame = capture.read()
    #显示图片(渲染画面)
    cv2.imshow('chuangkou',frame)
    #暂停窗口
    if cv2.waitKey(5)& 0xFF == ord('q'):#q退出视频
        break
#4.释放资源
capture.release()
#5.关闭窗口
cv2.destroyAllWindows()

4.调用摄像头实现人脸检测

#1.导入库
import cv2
#2.加在人脸模型
face = cv2.CascadeClassifier('D:/python/anaconda/Anaconda/Library/etc/haarcascades/haarcascade_frontalface_default.xml')
#3.打开摄像头
capture = cv2.VideoCapture(0)
#4.获取摄像头实时画面
while capture.isOpened():
    #读取摄像头帧画面
    rec,frame = capture.read()
    #图片灰度调节
    gray = cv2.cvtColor(frame,cv2.COLOR_RGB2GRAY)
    #检测人脸
    faces = face.detectMultiScale(gray)
    #标记人脸
    for (x,y,w,h) in faces:
        cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,0),2)
        #里面有参数,第一个是图片,第二个是坐标原点,第三个是识别大小,后面是颜色rgb,线宽
        #框是圈的帧上面的frame上面的,不是gray上面的,所以写frame不写gray  
    #显示图片(渲染画面)
    cv2.imshow('chuangkou',frame)
    #暂停窗口
    if cv2.waitKey(5)& 0xFF == ord('q'):#q退出视频
        break
#5.释放资源
capture.release()
#6.关闭窗口
cv2.destroyAllWindows()

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值