opencv 视频切图片,图片合成视频、视频旋转

本文介绍了计算机视觉中处理图像和视频的一些基本方法,包括从视频中切取图片、视频旋转、按帧数截取视频片段、图片旋转以及图片合成视频。这些技术在创建自定义数据集或调整视图角度时非常实用。

计算机视觉的训练任务通常需要很多图像数据来做数据集。常见大数据集如ImageNet, VOC,COCO,等等。我们要完成自己特定场合的识任务,就需要收集或采集场景数据,涉及到一些基本的图像处理方法。我遇到或需要使用到的图像处理方法大概有以下几种:

1.视频切图片(video_to_image.py)

import cv2

vc = cv2.VideoCapture("/home/ba/Videos/video.mp4")  # 读入视频文件,命名cv
n = 1  # 计数

if vc.isOpened():  # 判断是否正常打开
    rval, frame = vc.read()
else:
    rval = False

timeF = 1  # 视频帧计数间隔频率

i = 0
while rval:  # 循环读取视频帧
    rval, frame = vc.read()
    if (n % timeF == 0):  # 每隔timeF帧进行存储操作
        i += 1
        print(i)
        cv2.imwrite("/home/bova/Desktop/open/video/{}.jpg".format(i),
                   frame)  # 存储为图像
    n = n + 1
    cv2.waitKey(1)
vc.release()

2.视频旋转(video_rotate.py)

有时候,遇到视频是歪的,需要将视频旋转到正常视角,然后再使用1中的方法。这里涉及到opencv的transpose函数

import numpy as np
import cv2

cap = cv2.VideoCapture("/home/bova/Videos/demo.mp4")
fps=25
size=(1080,1920)

# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter('/home/bova/Videos/output.mp4'
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值