opencv自动裁切_荐Python Opencv 之 简单的视频裁剪功能的实现
Python Opencv 之 简单的视频裁剪功能的实现
目录
一、简单介绍
Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python是一种解释型脚本语言,可以应用于以下领域: Web 和 Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫。
本节介绍,通过使用 opencv 和 tesseract 进行简单的文字识别。
二、实现原理
1、读取视频
2、size 设置视频的裁剪大小
3、创建 VideoWriter ,写入 指定区域的视频数据
三、注意实现
1、注意 size 设置和 frame[0:x, 0:y] 要有一致性,不然可能显示、保存不了视频
2、frame 设置,导致这个方法好像有局限性
3、使用 python 3.6.7,opencv-python 为 4.2.0.32
四、效果预览
五、实现步骤
这里实现截取视频的左半部分为例
1、打开 Pycharm,新建一个工程
2、这里是选择 python 3.6,安装 opencv ,创建的工程
3、选中工程名称,右键创建一个 python 脚本
4、编写脚本,实现读取指定视频,进行半屏裁剪,并保存
5、运行脚本,效果如上图
六、关键代码
import cv2 as cv
def main():
# 导入视频文件,参数:0 自带摄像头,1 USB摄像头,为文件名时读取视频文件
video_caputre = cv.VideoCapture(r"D:\CloudMusic\MV\排骨教主 - 入画.mp4")
# 获取读入视频的参数
fps = video_caputre.get(cv.CAP_PROP_FPS)
width = video_caputre.get(cv.CAP_PROP_FRAME_WIDTH)
height = video_caputre.get(cv.CAP_PROP_FRAME_HEIGHT)
print("fps:", fps)
print("width:", width)
print("height:", height)
# 定义截取尺寸,后面定义的每帧的h和w要于此一致,否则视频无法播放
# 注意 这里是高宽 (height, width)
size = (int(height), int(width / 2))
# 创建视频写入对象
videp_write = cv.VideoWriter("videoFrameTarget.avi", cv.VideoWriter_fourcc('M', 'J', 'P', 'G'), fps, size)
# 读取视频帧,然后写入文件并在窗口显示
success, frame_src = video_caputre.read()
while success and not cv.waitKey(1) == 27: #读完退出或者按下 esc 退出
# [width, height] 要与上面定义的size参数一致,注意参数的位置
frame_target = frame_src[0:int(width/2), 0:int(height)]
# 写入视频文件
videp_write.write(frame_target)
# 显示裁剪的视频和原视频
cv.imshow("video", frame_target)
cv.imshow("Video_src", frame_src)
# 不断读取
success, frame_src = video_caputre.read()
print("视频裁剪完成")
# 销毁窗口,释放资源
cv.destroyWindow("video")
cv.destroyWindow("Video_src")
video_caputre.release()
if __name__=="__main__":
main()
七、python 推荐可以使用 Moviepy 对比一下
原文链接:https://blog.csdn.net/u014361280/article/details/106157012
opencv自动裁切_荐Python Opencv 之 简单的视频裁剪功能的实现相关推荐
- Python Opencv 之 简单的视频裁剪功能的实现
Python Opencv 之 简单的视频裁剪功能的实现 目录 Python Opencv 之 简单的视频裁剪功能的实现 一.简单介绍 二.实现原理 三.注意实现 四.效果预览 五.实现步骤 这里实现 ...
- python基于opencv的手势识别_求python opencv 手势识别源代码
2013-06-22 回答 1.1.介绍introduction 从opencv2.4开始,加入了新的类facerecognizer,我们可以使用它便捷地进行人脸识别实验.本文既介绍代码使用,又介绍算 ...
- python opencv 图像切割_使用Python+OpenCV进行图像处理(二)| 视觉入门
译者 | 磐石 编辑 | 安可 [前言]图像预处理对于整个图像处理任务来讲特别重要.如果我们没有进行恰当的预处理,无论我们有多么好的数据也很难得到理想的结果. 本篇是视觉入门系列教程的第二篇.整个视觉 ...
- python自动上传图片_使用Python实现一个简单的图片上传存储服务
使用flask实现的一个简单的图片上传服务 设计初衷 对于图片的存储,有很多选择,一般采用云服务如(七牛,又拍等),但是国内的服务像七牛 自定义域名竟然需要域名备案(Excuse me,当初就是因为备 ...
- Python django实现简单的邮件系统发送邮件功能
Python django实现简单的邮件系统发送邮件功能 本文实例讲述了Python django实现简单的邮件系统发送邮件功能. django邮件系统 Django发送邮件官方中文文档 总结如下: ...
- opencv 打印文字_如何使用OpenCV+Python去除手机拍摄文本底色
点击上方蓝字关注我们 微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识 起因 最近经常被要求手机拍摄考试卷,但是拍摄完之后,跟实际的黑白考试卷有很大的色差,打印出来之后背景就变成了灰 ...
- python opencv gpu加速_让Python下的OpenCV也能GPU加速!part.1
20200411更新: 经过评论区 @鹤汀凫渚 的指导,我成功的用最简单的方法在python中调用到了GPU加速后的函数,这里把这位朋友的评论贴出来供各位参考: 以下原文: 本文的核心目的就是加速,在 ...
- opencv在电脑屏幕上画_用Python+OpenCV让电脑帮你玩微信跳一跳
前言 最近微信小游戏跳一跳大热,自己也是中毒颇久,无奈手残最高分只拿到200分.无意间看到教你用Python来玩微信跳一跳一文,在电脑上利用adb驱动工具操作手机,详细的介绍以及如何安装adb驱动可以 ...
- python opencv创建图像_使用Python中OpenCV库创建一幅图片的RGB通道图片
我们知道,在使用PhotoShop进行图片的抠取.创建和存储选区.存储图像的色彩资料等复杂操作时,经常会用到一个功能,那就是"RGB"通道,它能从三原色角度对一幅图片进行精准处理. ...
最新文章
- Docker学习笔记【一】
- ubuntu安装过程中遇到问题小结
- aspmysql发布_ASP.NET Entity Framework with MySql服务器发布环境配置
- 面试软件设计人员的方法,附面试题。我的面试注重实效
- 【渝粤题库】广东开放大学 跨境电商搜索引擎优化 形成性考核
- 双11拼团最后的福利!老用户如何解散团并加入新团!
- MySQL常见故障处理手册_转
- Arduino 硬件开发 教程收集
- java对接银联商务扫码支付
- lua入门之二table
- FIFO读写时序理解——almost_empty、almost_full
- 侯捷c++1114新标准
- webpack常用基础配置的一些总结
- 一场安防IPC模组方案发布会引发的吐槽风波与反思
- 为什么打开计算机不显示桌面快捷方式,电脑桌面快捷方式不见了的解决办法
- express + vue 搭建项目
- 趁我酒醉后专车司机想要非礼我
- 解决QGIS中GEE插件授权问题
- oracle X表汇总
- sin与cos的求法
热门文章
- 【数据中台】数据质量原因分析
- arcgis server里预览地图显示空白
- 均衡教育计算机室整改方案,义务教育均衡发展工作存在的问题整改方案.docx
- PyCharm/IDEA等工具使用git时设置不要提交系统文件,或者忽略提交文件夹
- 狂汗!VOD点播系统漏洞解析,***电影网站!
- 利用random随机生成汉字名字
- RecyclerView用notifyDataSetChanged()刷新时候的图片闪烁
- 简易爬虫-利用Python爬虫爬取圣墟小说到本地
- Android 长按APP图标弹出快捷方式(shortcuts)
- Excel二维交叉表恢复为一维表