1.读取调用cv2.VideoCapture函数即可
import cv2
#返回两个值,一个布尔型数值,一份是图片
video = cv2.VideoCapture(r"C:\Users\Curry\Desktop/kobe.mp4")
while 1:
frame, img = video.read()
if frame == False:
print("视频读取完毕")
break
cv2.imshow('kobe', img)
cv2.waitKey(1)
cv2.destroyAllWindows()
video.release() #释放内存
2.视频人脸识别
import cv2
#返回两个值,一个布尔型数值,一份是图片
video = cv2.VideoCapture(r"C:\Users\Curry\Desktop/westbrook.mp4")
face_dector = cv2.CascadeClassifier(r"C:\Users\Curry\Desktop\cascades\haarcascade_frontalface_default.xml")
while 1:
frame, img = video.read()
if frame == False:
print("视频读取完毕")
break
faces = face_dector.detectMultiScale(img)
for x, y, w, h in faces:
cv2.rectangle(img,pt1=(x, y), pt2=(x+w, y+h), color=(0,0,255),thickness=2)
cv2.imshow('kobe', img)
K = cv2.waitKey(1) #等待键盘输入
if K == ord('q'):
print("按键退出")
break
cv2.destroyAllWindows()
video.release() #释放内存
3.视频人脸马赛克
import cv2
#返回两个值,一个布尔型数值,一份是图片
import numpy as np
video = cv2.VideoCapture(r"C:\Users\Curry\Desktop/westbrook.mp4")
face_dector = cv2.CascadeClassifier(r"C:\Users\Curry\Desktop\cascades\haarcascade_frontalface_default.xml")
while 1:
frame, img = video.read()
gray = cv2.cvtColor(img, code=cv2.COLOR_BGR2GRAY)
# img = cv2.resize(img, (360, 640))
if frame == False:
print("视频读取完毕")
break
faces = face_dector.detectMultiScale(gray)
for x, y, w, h in faces:
# cv2.rectangle(img,pt1=(x, y), pt2=(x+w, y+h), color=(0,0,255),thickness=2)
face = img[y:y+h, x:x+w]
face = face[::10, ::10]
face = np.repeat(face, 10, axis=0)
face = np.repeat(face, 10, axis=1)
img[y:y+h, x:x+w]=face[:h, :w]
cv2.imshow('westbrook', img)
K = cv2.waitKey(1) #等待键盘输入
if K == ord('q'):
print("按键退出")
break
# print(img.shape)
cv2.destroyAllWindows()
video.release() #释放内存