用opencv实现视频音频提取和画面灰度
成果展示
python边缘检测视频
1.提取视频
1.1首先从网上下载一个视频
贝贝,然后输入你要解析的b站视频BV号,下载mp4格式
2.2 下载依赖
pip3 insntall moviepy==1.0.0#1.0.0的能用write_videofile()
pip3 install PyAudio
pip3 install winsound
pip3 install opencv-python
pip3 install librosa
2.3 提取视频代码
import cv2 as cv#导入opencv
import numpy as np
import librosa.display
import matplotlib.pyplot as plt
# 单张测试
#img=cv.imread("d:\\cry\\Videos\\Captures\\710027277-1-208.mp4") #读取图片
#ca=cv.Canny(img,100,100) #边缘检测
#ga=cv.GaussianBlur(img, (5, 5), 0) #高斯模糊
#cv.namedWindow('canny',0)
#cv.resizeWindow('canny', 700, 500)
#cv.imshow("canny",ca)
#cv.waitKey(0)
#cv.namedWindow('Blurred Image',0)
#cv.resizeWindow('Blurred Image', 700, 500)
#cv.imshow("Blurred Image",ga)
#cv.waitKey(0)
# 1.源视频处理
capture = cv.VideoCapture("d:\\cry\\Videos\\Captures\\710027277-1-208.mp4") # 首先获取并打开源视频,这个自己弄好路径就好,不要有中文
# 获取开始帧和介绍帧,start和end 是我们想要从整个视频中想要截取的一小段视频的开始和结束
start = 0
# 2.创建一个写入视频对象
# 下面三个cap.get我加了int()强制类型转换,因为返回的是float类型,在创建写入视频对象时不允许,也有可能有的opencv版本不需要,大家可以自行尝试判断,加一个不碍事
weight=int(capture.get(cv.CAP_PROP_FRAME_WIDTH)) #获取视频的长宽和fps
height=int(capture.get(cv.CAP_PROP_FRAME_HEIGHT))
fps=int(capture.get(cv.CAP_PROP_FPS))
# fourcc = cv.VideoWrit

该博客介绍了如何使用OpenCV提取视频帧并进行边缘检测,同时利用MoviePy提取音频并合成视频。在视频处理部分,通过Canny算法实现了边缘检测,并将处理后的帧写入新视频。音频部分,使用MoviePy读取、保存及播放音频。最后,尝试将处理后的音频和视频合成为MP4文件,但遇到了没有声音的问题。
最低0.47元/天 解锁文章
770

被折叠的 条评论
为什么被折叠?



