Python - 使用python-opencv裁剪原视频为与视频高同宽的视频
1 裁剪视频的原因
在有些情况下,我们只需要视频中间部分的视频内容,所以需要通过裁剪去掉周围冗余的视频部分。
2 代码
# -*- coding: utf-8 -*-import cv2
import osdef crop_video_by_width(input_video_path,out_video_path):# 判断视频是否存在if not os.path.exists(input_video_path):print('输入的视频文件不存在')# 获取video_read_cap = cv2.VideoCapture(input_video_path)input_video_width = int(video_read_cap.get(cv2.CAP_PROP_FRAME_WIDTH))input_video_height = int(video_read_cap.get(cv2.CAP_PROP_FRAME_HEIGHT))input_video_fps = int(video_read_cap.get(cv2.CAP_PROP_FPS))input_video_fourcc = int(cv2.VideoWriter_fourcc(*'XVID'))out_video_width = 512;out_video_height = 512;out_video_size = (int(out_video_width), int(out_video_height))video_write_cap = cv2.VideoWriter(out_video_path,input_video_fourcc,input_video_fps,out_video_size)while video_read_cap.isOpened():result, frame = video_read_cap.read()if not result:break# 裁剪到与原视频高度等宽的视频diff = input_video_width - input_video_heightdiff = int(diff/2)crop_start_index = int(diff)crop_end_index = int(diff + input_video_height)# 参数1 是高度的范围,参数2是宽度的范围target = frame[0:int(input_video_height),crop_start_index:crop_end_index]# 再resize到512x512target = cv2.resize(target,(out_video_width,out_video_height))video_write_cap.write(target)cv2.imshow('target',target)cv2.waitKey(10)video_read_cap.release()video_write_cap.release()cv2.destroyAllWindows()if __name__ == '__main__':crop_video_by_width(r'cxk.mp4','result.mp4')
3 结果
未裁剪的视频截图:
裁剪后的视频截图:
Python - 使用python-opencv裁剪原视频为与视频高同宽的视频相关推荐
- OpenCV入门(C++/Python)-使用OpenCV裁剪图像(四)
裁剪是为了从图像中删除所有不需要的物体或区域.甚至突出显示图像的特定功能. 使用OpenCV裁剪没有特定的功能,NumPy数组切片是工作.读取的每个图像都存储在2D数组中(对于每个颜色通道).只需指定 ...
- 在Python中使用OpenCV裁剪图像
What is Cropping? 什么是播种? Cropping is the removal of unwanted outer areas from a photographic or illu ...
- AI 视频云 VS 窄带高清,谁是视频时代的宠儿
随着网络技术的逐渐改善,各类视频消息成为媒体传播的主要选择手段.但其实支撑着视频传播的并不单单是网络技术,还有视频转码与压缩技术.这类技术下分很多,比如曾经被频繁提到的 H.265,比如时下热门的窄带 ...
- Python:实现图片裁剪的两种方式——Pillow和OpenCV
原文:https://blog.csdn.net/hfutdog/article/details/82351549 在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还 ...
- python opencv 裁剪图片_Python图片裁剪的两种方式——Pillow和OpenCV
在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还有一种利用了OpenCV.两种方式都需要简单的几行代码,这可能也就是现在Python那么流行的原因吧. OpenCV ...
- Python 小型课设作业,仅200行代码,使用youtube-dl下载视频,使用OpenCV和ffmpeg处理视频成字符视频
一.程序背后的小故事: 因为不想像传统的课设作业一样做一个很多人做过的小游戏,管理程序等,所以花了很长时间在选择一个有趣的程序方向,突然想起来以前看到的字符跳舞视频,突然引起了我的兴趣.分析字符 ...
- 「Python|场景案例」如何拼接、裁剪、多轨合并两个或多个视频
本文主要介绍如何使用python的第三方库moviepy进行简单的视频编辑操作,比如: 拼接,裁剪,多轨合并. 文章目录 场景描述 准备工作 解决方案 重点参数说明 源代码 场景描述 我们可以日常可以 ...
- Python基于OpenCV的人脸识别自助商店(源码&部署视频)
1.模块功能介绍 实现人脸识别模块.人脸登录与注册功能.商店显示和用户余额页显示功能 用GUl图形界面实现(pyqt)语言python windows下软件pycharm 1.用户登录模块:刷脸登录 ...
- python 爬取B站原视频的实站代码
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云,作者:python学习教程 ( 想要学习Python?Pyt ...
最新文章
- Java8的Optional是不是鸡肋?
- C语言实现生产者-消费者问题
- NestedScrollView平滑滑动嵌套 Fling
- 用界面读取图片并且保存图片的方法
- 同态加法_同态—当旧趋势突然变酷时
- Linux gcc 制作静态库01
- 惊了!最通俗易懂的Djongo入门竟然在这里!
- vim Ctrl+S锁定屏幕
- Python实战——2048
- 【学习总结】Git学习-参考廖雪峰老师教程三-创建版本库
- android sp缓存,Android sharedPreference设置缓存时间
- “你好,世界!” Python教程
- OpenFOAM提取等值面并计算面积
- 笔记本计算机图标怎么设置出来,电脑桌面图标隐藏了怎么弄出来
- 5G承载网络架构和技术方案白皮书(部分摘录-1)
- [渝粤教育] 西南科技大学 物流系统规划与设计 在线考试复习资料
- ntext字段的替换处理示例--全表替换
- IMAUOJ——1013: 超级密码
- 第三届蓝桥桥杯预赛真题及详细答案
- VBScript 函数
热门文章
- 应用计算机散热的原理是什么,笔记本电脑散热原理与CPU降频技术解析
- 漫画电子电路读书笔记
- 印钞能力一般的“随心飞” 为何让航空公司前仆后继?
- 高低温磁场型霍尔效应测试仪的设计方案
- 计算机辅助cad职称报考,计算机辅助设计绘图员(AUTO CAD)中级证
- 蓝屏0x000000A5解决方案
- 麒麟系统arm64或aarch64架构下docker打包jdk1.8镜像
- html5代码好学吗,0基础能学习Html5吗?Html5好学吗?
- 苹果使用过程的一些小技巧
- App一键切换url环境、一键打包__Android拓展篇(Java)