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 之 简单的视频裁剪功能的实现相关推荐

  1. Python Opencv 之 简单的视频裁剪功能的实现

    Python Opencv 之 简单的视频裁剪功能的实现 目录 Python Opencv 之 简单的视频裁剪功能的实现 一.简单介绍 二.实现原理 三.注意实现 四.效果预览 五.实现步骤 这里实现 ...

  2. python基于opencv的手势识别_求python opencv 手势识别源代码

    2013-06-22 回答 1.1.介绍introduction 从opencv2.4开始,加入了新的类facerecognizer,我们可以使用它便捷地进行人脸识别实验.本文既介绍代码使用,又介绍算 ...

  3. python opencv 图像切割_使用Python+OpenCV进行图像处理(二)| 视觉入门

    译者 | 磐石 编辑 | 安可 [前言]图像预处理对于整个图像处理任务来讲特别重要.如果我们没有进行恰当的预处理,无论我们有多么好的数据也很难得到理想的结果. 本篇是视觉入门系列教程的第二篇.整个视觉 ...

  4. python自动上传图片_使用Python实现一个简单的图片上传存储服务

    使用flask实现的一个简单的图片上传服务 设计初衷 对于图片的存储,有很多选择,一般采用云服务如(七牛,又拍等),但是国内的服务像七牛 自定义域名竟然需要域名备案(Excuse me,当初就是因为备 ...

  5. Python django实现简单的邮件系统发送邮件功能

    Python django实现简单的邮件系统发送邮件功能 本文实例讲述了Python django实现简单的邮件系统发送邮件功能. django邮件系统 Django发送邮件官方中文文档 总结如下: ...

  6. opencv 打印文字_如何使用OpenCV+Python去除手机拍摄文本底色

    点击上方蓝字关注我们 微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识 起因 最近经常被要求手机拍摄考试卷,但是拍摄完之后,跟实际的黑白考试卷有很大的色差,打印出来之后背景就变成了灰 ...

  7. python opencv gpu加速_让Python下的OpenCV也能GPU加速!part.1

    20200411更新: 经过评论区 @鹤汀凫渚 的指导,我成功的用最简单的方法在python中调用到了GPU加速后的函数,这里把这位朋友的评论贴出来供各位参考: 以下原文: 本文的核心目的就是加速,在 ...

  8. opencv在电脑屏幕上画_用Python+OpenCV让电脑帮你玩微信跳一跳

    前言 最近微信小游戏跳一跳大热,自己也是中毒颇久,无奈手残最高分只拿到200分.无意间看到教你用Python来玩微信跳一跳一文,在电脑上利用adb驱动工具操作手机,详细的介绍以及如何安装adb驱动可以 ...

  9. python opencv创建图像_使用Python中OpenCV库创建一幅图片的RGB通道图片

    我们知道,在使用PhotoShop进行图片的抠取.创建和存储选区.存储图像的色彩资料等复杂操作时,经常会用到一个功能,那就是"RGB"通道,它能从三原色角度对一幅图片进行精准处理. ...

最新文章

  1. Docker学习笔记【一】
  2. ubuntu安装过程中遇到问题小结
  3. aspmysql发布_ASP.NET Entity Framework with MySql服务器发布环境配置
  4. 面试软件设计人员的方法,附面试题。我的面试注重实效
  5. 【渝粤题库】广东开放大学 跨境电商搜索引擎优化 形成性考核
  6. 双11拼团最后的福利!老用户如何解散团并加入新团!
  7. MySQL常见故障处理手册_转
  8. Arduino 硬件开发 教程收集
  9. java对接银联商务扫码支付
  10. lua入门之二table
  11. FIFO读写时序理解——almost_empty、almost_full
  12. 侯捷c++1114新标准
  13. webpack常用基础配置的一些总结
  14. 一场安防IPC模组方案发布会引发的吐槽风波与反思
  15. 为什么打开计算机不显示桌面快捷方式,电脑桌面快捷方式不见了的解决办法
  16. express + vue 搭建项目
  17. 趁我酒醉后专车司机想要非礼我
  18. 解决QGIS中GEE插件授权问题
  19. oracle X表汇总
  20. sin与cos的求法

热门文章

  1. 【数据中台】数据质量原因分析
  2. arcgis server里预览地图显示空白
  3. 均衡教育计算机室整改方案,义务教育均衡发展工作存在的问题整改方案.docx
  4. PyCharm/IDEA等工具使用git时设置不要提交系统文件,或者忽略提交文件夹
  5. 狂汗!VOD点播系统漏洞解析,***电影网站!
  6. 利用random随机生成汉字名字
  7. RecyclerView用notifyDataSetChanged()刷新时候的图片闪烁
  8. 简易爬虫-利用Python爬虫爬取圣墟小说到本地
  9. Android 长按APP图标弹出快捷方式(shortcuts)
  10. Excel二维交叉表恢复为一维表