1.视频处理—-人脸识别
import numpy as np
import cv2
import matplotlib.pyplot as plt
cap = cv2.VideoCapture("images/2.mp4")
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter("1.avi", fourcc, 20, (544, 960))
while cap.isOpened():
ret, imgs = cap.read()
urlXml = 'D:/Users/24268/anaconda3/envs/python_keras/Lib/site-packages/cv2/data/'
# img = cv2.imread(imgs)
faceCascade = cv2.CascadeClassifier(urlXml + 'haarcascade_frontalface_default.xml')
if ret is True:
gray = cv2.cvtColor(imgs, cv2.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(
gray, scaleFactor=1.15, minNeighbors=5, minSize=(5, 5)
)
# print(faces)
print(len(faces))
for (x, y, w, h) in faces:
cv2.circle(imgs, (int((x + x + w) / 2), int((y + y + h) / 2)), int(w / 2), (0, 255, 0), 2)
cv2.imshow("renlian", imgs)
cv2.waitKey(1)
out.write(imgs)
cap.release()
out.release()
2.cv2处理的视频是avi,转为mp4
import os
ffmpeg = r'C:\Users\24268\Desktop\ffmpeg-N-102809-gde8e6e67e7-win64-gpl-shared\ffmpeg-N-102809-gde8e6e67e7-win64-gpl-shared\bin\ffmpeg.exe' # 写自己的安装路径
# 由于路径中有空格,所以路径需要用上双引号,否则会找不到该文件
cmd = ffmpeg + " -i " + '1.avi' + " -c copy " + '2.mp4'
os.system(cmd)
print("done")
3.cv2处理的视频不带声音,所以
from moviepy.editor import *
#需添加背景音乐的视频
video_clip = VideoFileClip(r'F:\test\video\aaa\moviepy中文手册\素材\video.mp4')
#背景音乐
audio_clip = AudioFileClip(r'F:\test\video\aaa\moviepy中文手册\素材\音频\察觉.mp3')
#视频写入背景音
final_video = video_clip.set_audio(audio_clip)
#将处理完成的视频保存
final_video.write_videofile("video_result.mp4")