05 | 图像处理库:如何实现长图拼接?
该思维导图由 AI 生成,仅供参考
Python 是如何调用外部命令的
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了如何使用Python调用外部命令来实现长图和视频拼接的功能。作者首先解释了Python调用外部程序的原理,介绍了subprocess模块的run()函数和Popen类的使用方法。然后,作者详细讲解了如何使用subprocess库实现长图拼接的功能,以macOS平台上的ImageMagick软件为例,演示了如何通过Python调用composite命令来实现图片拼接。作者强调了使用Python调用外部命令的优势,包括简化命令行参数、提高效率、方便调整参数等。整体而言,本文通过实际示例生动地展示了Python调用外部命令的实现方法,为读者提供了一种简单、高效的图片和视频处理方式。 在文章的后半部分,作者还介绍了如何使用subprocess库调用可执行程序,来进行视频的拆分与合并。通过讲解视频拆分的原理和使用FFmpeg命令的方法,作者展示了如何通过Python实现视频拆分的功能,并强调了使用Python调用FFmpeg命令的优势,包括简化参数、批量处理视频等。最后,作者总结了subprocess库的用法,强调了Python调用可执行程序在多媒体处理、自然科学、AI等领域的重要性,并提供了思考题引导读者思考在工作中是否可以使用Python包装命令行工具,提高工作效率。 总的来说,本文通过生动的示例和清晰的讲解,帮助读者了解了Python调用外部命令的实现方法,以及在多媒体处理领域中的应用,为读者提供了有益的技术指导。
《Python 自动化办公实战课》,新⼈⾸单¥59
全部留言(16)
- 最新
- 精选
- SWC603老師,是否可以利用python 一次過批量更改excel中的公司logo? 因原有excel 檔中公司logo更改了新設計。 謝謝你!
作者回复: 你好,对于excel中的图片处理,步骤比较多,但是操作不难。 首先你需要将excel文件的扩展名改成zip格式, 然后对zip格式进行解压缩 利于我在后面讲解的遍历文件的方式找到图片,并替换成新的图片 最后,再将文件夹打包回zip并重命名为xlsx
2021-03-206 - 小匚弱弱的问一句Windows用户可以不?
作者回复: Windows是不行的哦,这个软件是 Linux和MAC下边实现 photoshop的一个工具,主打的就是通过命令行进行批量处理。在windows下想实现这种功能,可以使用photoshop的“动作”来完成。
2021-02-2033 - 彭宏豪95老师好,长图拼接如果要设置图片拼接的先后顺序,是不是图片命名要规范一些,比如出现数字 1、2、3、4 之类的,然后书写的 python 程序也要添加相应的参数呢?
作者回复: 你好,要考虑拼接顺序,确实是需要在文件名做文章的。 这也是命令行工具能够批量化但是没有可视化工具人性化的地方,有取有舍
2021-06-301 - Geek_d4577b老师,课程无代码包里,没有拼接图片的代码,能补充一下吗
编辑回复: 开篇词、01-03文章底部都有链接 专栏的完整代码位置是https://github.com/wilsonyin123/python_productivity,可点击链接下载查看。 或者通过网盘链接提取后下载,链接是: https://pan.baidu.com/s/1UvEKDCGnU6yb0a7gHLSE4Q?pwd=5wf1,提取码: 5wf1。
2022-04-04 - somenzz能否提供下不借助 subprocess 调用外部工具合并长图的代码啊,我这里是 Windows 用户。
作者回复: windows可以使用subprocess但不可使用fork,是不是文章中的描述给你造成了误解? 参考地址 https://docs.python.org/zh-cn/3/library/subprocess.html
2021-07-082 - 赤い悪魔MacOS cmd1 = ["ls", "."] returncode = run(cmd1) 报错,替换了 returncode = run('ls', '.', shell=True)
作者回复: 我解释一下报错的原因,是因为ls命令在运行的时候需要环境变量,而环境变量是存在于shell中的。所以需要增加shell=True。
2021-03-08 - xiaocao另外问一下:外部命令还可以调用哪些?如何查找和学习?
作者回复: 外部命令功能,可以调用任何命令行执行的命令,最常见的就是文件操作类命令, windows可以通过cmd命令作为关键字搜索,mac可以通过shell脚本作为关键字搜索到
2021-02-21 - 梁健我客观地说个存在的问题,您使用Mac OS的操作系统下的 ImageMagick进行教学,这给我们这些windows用户带来很多的不方便,命令行执行上这两个系统的命令完全不一样(哭了),我找了好多教程都没找到好的解决办法。希望后面的内容还是能够多在Windows上做。ps:今天这课是学的到现在最烦燥的一节(痛彻心扉)。
作者回复: 先不要痛彻心扉,我在这节课主要想把调用外部命令的方式交给你,windows下也有很多软件支持命令行的,最常见的就是文件和文件夹的操作命令。你可以通过搜索引擎搜索windows 命令行自带的命令,来找到他们。在我工作的早期,接触的服务器大部分就是windows的操作系统,我需要进行定时任务和各种复杂任务的编排的时候,都会通过cmd命令行的命令来完成。有了Python进行封装之后,这些命令肯定更好用了。你可以去了解一下。
2021-02-20 - 文桑通过Python脚本解决问题的运用思路应该是私人的,个性化的,如果有软件能支持你想要解决的问题,原则是使用软件,即使是付费,这从时间成本角度来考虑是较优的,当然如果你的Python编码能力较强,对问题处理的解决方案有足够的抽象认知,在时间允许的情况下,通过Python来解决是一个很不错的方式。2023-05-08归属地:广东1
- 天国之影Windows下的长图拼接代码示例(安装ImageMagick软件,安装参考博客:https://blog.csdn.net/qq_37674858/article/details/80361860): from pathlib import Path, PurePath from subprocess import run jpg_path = 'data/ch04' result_path = 'data/ch04/result.jpg' p = Path(jpg_path) # 使用命令 cmd = ['magick', 'convert', '-append'] # 增加参数 for x in p.iterdir(): if PurePath(x).match('*.jpg'): cmd.append(x) # 增加拼接结果 cmd.append(result_path) run(cmd, shell=True)2021-12-0811