opencv为视频进行边缘提取(roberts)
对视频进行边缘提取
首先了解视频和图片的区别(这里的视频是指已经录制好的视频文件)
视频按帧拆开
分解为图片进行转化
再合成视频
(此处代码笔者留了一个坑,多次运行,此处会报错fs.sort(key=lambda x:int(x[:-4])),解决办法笔者已有但是还希望大家尝试下怎么解决,所以没有放上来)
import cv2 as cv
import numpy as np
from scipy import signal
import os.path
def video_jpg():
"""
视频分解成图片
1.load读取视频
2.读取视频的info信息
3.parse解码,拿到单针视频
4.展示imshow 保存imwrite
"""
cap = cv.VideoCapture("/Users/w/PycharmProjects/opencv/test.mp4") # 获取视频打开的句柄
isOpen = cap.isOpened # 判断是否能打开成功
print(isOpen)
fps = cap.get(cv.CAP_PROP_FPS) # 帧率,视频每秒展示多少张图片
width = int(cap.get(cv.CAP_PROP_FRAME_WIDTH)) # 获取宽度信息
height = int(cap.get(cv.CAP_PROP_FRAME_HEIGHT)) # 获取高度信息
print(fps, width, height)
# 15.0 272 480