视频区域裁剪python_录制的视频,使用python opencv去截取帧数(自定义间隔帧截取)同时可裁剪图像尺寸...

该博客介绍了如何使用Python的OpenCV库读取视频,并按自定义帧间隔进行裁剪。代码示例展示了如何逐帧处理视频,裁剪指定区域并保存为图片,支持中文文件名的读写操作。
摘要由CSDN通过智能技术生成

coding: utf-8

import cv2 as cv

import os

2.读取视频文件夹

filepath = './Input_video' # 需要读取的视频的路径

pathDir = os.listdir(filepath) # 获取文件夹中文件名称

3.截视频帧数

for allDir in pathDir: # 逐个读取视频文件

a = 1 # 图片计数-不改

c = 1 # 帧数计数-不改

videopath = r'./Input_video/'+allDir # 视频文件路径

vc = cv.VideoCapture(videopath) # 读入视频文件

# 存储视频的子目录

path = './Video_Result(Interval)Frame/'#+allDir.split('.')[0] # 文件夹名称 + 以什么符号分割,此处选择直接放进一个文件夹中

if not os.path.exists(path): # 如果不存在就创建文件夹

os.mkdir(path)

if vc.isOpened(): # 判断载入的视频是否能够打开

rval , frame = vc.read()

else:

rval = False

功能2-3:需要进行视频的裁剪

timeF = 20 # 帧数间隔

while rval:

rval,frame = vc.read() # 分帧读取视频

if rval==False:

break

功能4:需要进行视频的裁剪

if(c%timeF==0):

frame = frame[130:940,360:1420]

#frame = frame[0:1070,200:1640] # img.shape 查看像素分布---按照像素裁剪照片[0:1080;代表y值 从上到下。150:1600;代表x值 从左到右]

#cv.imwrite(path+'/'+allDir[:-4]+ '__' +str(a)+'__.jpg',frame) # 保存路径

功能5:可进行中文读取操作

cv.imencode('.jpg',frame)[1].tofile(path +'/' + str(a) +'-'+ allDir[:-4] + '.jpg') # 保存路径

# (文件格式,图片数据),tofile(),括号中为保存图片路径及图片名,可以包含中文。

print('正在截取第' + str(a) + "帧,请稍后……")

a += 1

c += 1

cv.waitKey(1)

vc.release()

print('\n','处理完成,请移步------→ :Video_Result(Interval)Frame查看结果')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值