☞ ░ 老猿Python博文目录:https://blog.csdn.net/LaoYuanPython ░

一、引言

最近看到好几篇类似“n行Python代码…”的博文,看起来还挺不错,简洁、实用,传播了知识、带来了阅读量,撩动了老猿的心,决定跟风一把,推一个“n行Python代码系列”文章。

对于视频中的画面,有时出于特效处理等特殊要求希望进行类似照片负片的效果。

负片(Negative Film)是经曝光和显影加工后得到的影像,其明暗与被摄体相反,其色彩则为被摄体的补色,它需经印放在照片上才还原为正像。拿黑白的片子来说,在负片的胶片上人的头发是白的,实际上白色的衣服在胶片上是黑色的;彩色的胶片,胶片上的颜色与实际的景物颜色正好是互补的,如:实际是红色的衣服在胶片上是青色的。负片不论是黑白或彩色均是摄影最常用的胶片。我们平常所说的用来冲洗照片的底片就是负片。

本文介绍通过Python+Moviepy两行代码实现将视频进行视频反色处理达到每帧画面都是原画面的负片效果。更多“n行Python代码系列”文章请参考免费专栏《n行Python代码系列》。

二、实现视频反色处理的案例

老猿手头有个从抖音下的风景视频,其对应原视频内容如下:

为了实现视频反色处理,示例代码如下:

from  moviepy.editor import *clip = VideoFileClip(r"F:\video\scenery.mp4")
clipInvert_colors = clip.fx(vfx.invert_colors)
clipInvert_colors.write_videofile (r"F:\video\scenery_invert_colors.mp4")

上述四行代码实现Moviepy模块的加载、然后读入视频文件、对视频进行反色处理、输出反色后视频到结果视频文件。以上四行代码也可以精简为如下两行:

from  moviepy.editor import *VideoFileClip(r"F:\video\scenery.mp4").fx(vfx.invert_colors).write_videofile (r"F:\video\scenery_invert_colors.mp4")

输出的反色视频如下:

可以看到反转后的视频有种魔幻的感觉。

三、背景知识

3.1、moviepy简介

要实现视频剪辑,老猿使用了moviepy库。MoviePy是一个用于视频编辑的Python模块,可用于进行视频的基本操作(如剪切、连接、标题插入)、视频合成(也称非线性编辑)、视频处理或创建高级效果。它可以读写最常见的视频格式,包括GIF。MoviePy能处理的视频是ffmpeg格式的,老猿理解支持的文件类型至少包括:*.mp4 *.wmv *.rm *.avi *.flv *.webm *.wav *rmvb。

MoviePy安装非常简单,使用pip安装时,请将站点指向国内的镜像站点,否则下载很慢或者下载不下来,老猿使用清华的镜像,指令是:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple moviepy

3.2、代码使用相关函数介绍

上述代码涉及到的相关函数包括VideoFileClip、fx、invert_colors、write_videofile,其中:

  • VideoFileClip实际上是一个类,用于从视频文件装载视频到内存
  • fx函数是Moviepy剪辑基类Clip的方法,fx方法是用于执行参数指定的函数,并返回该参数对应函数的执行结果
  • invert_colors将像素对应颜色进行反转。具体反转方式为,对于标准剪辑,采用255减各RGB的值,对于遮罩剪辑,采用1.0减原值。颜色反转又称为负片转换
  • write_videofile用于将剪辑内容输出到视频文件

四、小结

本文介绍了使用Python+Moviepy 两行代码实现视频颜色反转的方法,视频颜色反转类似相片冲印中的负片处理。

更多相关moviepy知识的介绍请参考《https://blog.csdn.net/LaoYuanPython/article/details/108184832 Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载》的导览式介绍。

写博不易,敬请支持:

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

关于老猿的付费专栏

  1. 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
  2. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
  3. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录 》
  4. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取CSDN文章信息、博主信息、给文章点赞、评论等实战内容。

前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

如果对文章内容存在疑问,可以在博客评论区留言,或关注:老猿Python 微信公号发消息咨询。

跟老猿学Python!

☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░

两行Python代码实现视频负片特效相关推荐

  1. 今天分享两行Python代码实现视频负片特效

    最近看到好几篇类似"n行Python代码-"的博文,看起来还挺不错,简洁.实用,传播了知识.带来了阅读量,撩动了老猿的心,决定跟风一把,推一个"n行Python代码系列& ...

  2. 两行Python代码调整视频的亮度

    ☞ ░ 老猿Python博文目录 ░ 一.引言 最近看到好几篇类似"n行Python代码-"的博文,看起来还挺不错,简洁.实用,传播了知识.带来了阅读量,撩动了老猿的心,决定跟风一 ...

  3. 两行Python代码实现视频的淡入淡出处理

    ☞ ░ 老猿Python博文目录 ░ 一.引言 最近看到好几篇类似"n行Python代码-"的博文,看起来还挺不错,简洁.实用,传播了知识.带来了阅读量,撩动了老猿的心,决定跟风一 ...

  4. python红色的颜色表达式_50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)...

    目前计算机视觉(CV)与自然语言处理(NLP)及语音识别并列为人工智能三大热点方向,而计算机视觉中的对象检测(objectdetection)应用非常广泛,比如自动驾驶.视频监控.工业质检.医疗诊断等 ...

  5. 用Python代码实现视频转gif动图

    下面是一个使用 Python 代码实现视频转 gif 动图的简单示例: import imageio# 读取视频文件 video = imageio.get_reader('input.mp4')# ...

  6. python 制作字符视频_20行Python代码实现视频字符化功能

    我们经常在B站上看到一些字符鬼畜视频,主要就是将一个视频转换成字符的样子展现出来.看起来是非常高端,但是实际实现起来确是非常简单,我们只需要接触opencv模块,就能很快的实现视频字符化.但是在此之前 ...

  7. 【目标检测】使用python代码实现视频转为图片

    在目标检测任务,我们需要为每张图片打标签,从而制作成用于目标检测任务的数据集. 如果我们获取的是一段视频,如何根据帧数将视频转为一张张图片,然后在制作数据集呢? 多的不说,少的不唠,下面给大家分享一个 ...

  8. python从视频中提取音频信号_三行Python代码提取视频中的音频

    作者:小舟逝江海 http://suo.im/5yOtbx 写在开头 身处数据爆炸增长的时代,各种各样的数据都飞速增长,视频数据也不例外.我们可以使用 python 来提取视频中的音频,而这仅仅需要安 ...

  9. 20行Python代码实现视频字符化

    来源 | ZackSock(ID:ZackSock) 我们经常在B站上看到一些字符鬼畜视频,主要就是将一个视频转换成字符的样子展现出来. 看起来是非常高端,但是实际实现起来确实非常简单,我们只需要接触 ...

  10. opencv画框返回坐标 python_20行Python代码实现视频字符化

    来源 | ZackSock(ID:ZackSock) 我们经常在B站上看到一些字符鬼畜视频,主要就是将一个视频转换成字符的样子展现出来. 看起来是非常高端,但是实际实现起来确实非常简单,我们只需要接触 ...

最新文章

  1. jQuery事件处理一瞥
  2. 考研结束了,使用SpringBoot开发一个考研管理系统
  3. android 过滤格式,android Intent.setType() 过滤图片,返回所有的文件类型
  4. 窗体调用 OCX 的使用方法(MFC,WINFORM)
  5. RSS你会用了吗?答曰:不会
  6. i++与++i的区别,使用实例说明
  7. Linux下如何安装.cer证书
  8. 研究支付业务中,银行、支付机构与银联、网联的关系逻辑
  9. android框架揭秘之android中c++写的服务笔记
  10. 小程序input获得焦点触发_小程序文本框焦点 小程序input自动获取焦点
  11. 用Python自动清理系统垃圾,再也不用360安全卫士了
  12. 数据倾斜的原因及解决方案
  13. YOLOV5训练数据集过程中特殊问题记录
  14. 共识算法-Mencius详解
  15. 老外常用的网络英文缩写
  16. 【Block-Level Verification】 芯片开发通识_验证目标_ 验证语言_ 验证职业前景 _挑战和瓶颈_验证周期_功能描述文档_验证计划_回归测试_硅后测试_逃逸分析...
  17. python 卡方分布函数_卡方检验2-python代码实现
  18. R语言 读写带分隔符的文件
  19. LeetCode-完成旅途的最少时间
  20. https://www.jianshu.com/p/15c85b1901f7

热门文章

  1. 第十一章:项目风险管理 - (11.5 规划风险应对)
  2. excel字符串和单元格拼接_单元格引用问题(引用的单元格与字符串变量连接)...
  3. 分享一个qt实现的登录界面模板
  4. NOI国家集训队论文分类整理
  5. 思岚S2激光雷达5-雷达数据实时保存
  6. 像素越多越好?像元的面积越小越好?为何底大一级压死人?
  7. iPhone 与 Mac 怎么同步?同步有什么用
  8. 当下流行架构中的一些技术思考
  9. 大数据智能学院的硕士论文怎么写_大数据智能营销笔记本怎么样
  10. pytorch 使用netron可视化