Python调取摄像头并进行人脸识别

有几种方法,

opencv

import numpy as np
import cv2 as cv
cap = cv.VideoCapture(0)
#参数为0即为本机摄像头,1为其他摄像头,还可以调入视频路径
ret,frame = cap.read()#获取帧成功 ret=Ture
while ret:
    ret,frame = cap.read()
    cv.imshow('camera',frame)
    #打开一个叫camera的窗口,展示frame
    if cv.waitKey(25) & 0xff ==ord("q"):
        #等待25ms 找不到下一帧或者用户按下q退出
        break
cap.release()
cv.destroyAllWindows()

还可以调用并保存视频

import cv2 as cv
cap = cv.VideoCapture(0)
fourcc = cv.VideoWriter_fourcc(*'XVID')
#编码格式,这个编码格式是avi文件
out = cv.VideoWriter('output.avi',fourcc,20.0,(640,480))
#视频文件输出,参数:文件名称,编码格式,帧数,尺寸
while(cap.isOpened()):
    ret,frame = cap.read()
    if ret==True:
        out.write(frame)
        cv.imshow('camera',frame)
        if cv.waitKey(1)& 0xff ==ord("q"):
            break
    else:
        break
cap.release()
cv.destroyAllWindows()

调用ip摄像头并保存视频

#下载软件,ip摄像头
import cv2 as cv
flag=0#定义一个变量方便保存文件
fourcc = cv.VideoWriter_fourcc(*'XVID')
#编码格式,这个编码格式是avi文件
out = cv.VideoWriter('output.avi',fourcc,20.0,(640,480))
#视频文件输出,参数:文件名称,编码格式,帧数,尺寸
ip_video = "https://admin:admin@192.168.0.104:8081/"
#局域网ip
cap = cv.VideoCapture(ip_video)
is_open=cap.isOpened()
while is_open:
    r,f =cap.read()
    cv.imshow('carmera',f)
    if cv.waitKey(10) & 0xff ==ord('s') and flag!=1:
        flag=1
        print("开始保存")
    if flag:
        out.write(f)
        if cv.waitKey(10) & 0xff ==ord('b'):
            flag =0
            print("停止保存")
    if cv.waitKey(15) & ord('q'):
        break
cap.release()
cv.destroyAllWindows()

人脸识别

识别人脸,导入一个训练好的xml尝试一下
识别出来的样子:

image-20220301160215994
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇