利用Python怎么实现一个图像处理功能-创新互联
这期内容当中小编将会给大家带来有关利用Python怎么实现一个图像处理功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!创新互联建站为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,成都网站设计、做网站负责任的成都网站制作公司!一、简介
- imread()和imwrite() - 用于单个图像
- mimread()和mimwrite() - 用于图像系列(动画)
- volread()和volwrite() - 用于体积图像数据
- get_reader()和get_writer() - 用于更多控制(例如流式传输)
- 有关更多信息,请参阅文档。
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
二、代码总结:
Imageio是一个Python库,提供了一个简单的界面来读取和写入各种图像数据,包括动画图像,视频,体积数据和科学格式。它是跨平台的,运行在Python 2.7和3.4+上,易于安装。
作为用户,您只需要记住一些功能:
通过一系列功能简单的界面。
Imageio有一个相对简单的核心,为不同的文件格式提供通用接口。这个核心负责从不同的源(如http)读取,并为插件公开一个简单的API来访问原始数据。所有文件格式都在插件中实现。可以轻松注册其他插件。
一些插件依赖于外部库(例如ffmpeg)。Imageio提供了一种通过一个函数调用下载这些函数的方法,并在需要时提示用户这样做。下载缓存在您的appdata目录中,这可以保持imageio轻松和可扩展。
Imageio提供各种图像格式,包括科学格式。任何有关实现更多格式的帮助都非常受欢迎!
代码库遵循PEP8样式指南的(子集)。我们力求较大的测试覆盖率(核心为100%,每个插件为> 95%)。
import subprocess import imageio import os from PIL import Image def video2mp3(file_name): """ 将视频转为音频 :param file_name: 传入视频文件的路径 :return: """ outfile_name = file_name.split('.')[0] + '.mp3' subprocess.call('ffmpeg -i ' + file_name + ' -f mp3 ' + outfile_name, shell=True) def video_add_mp3(file_name, mp3_file): """ 视频添加音频 :param file_name: 传入视频文件的路径 :param mp3_file: 传入音频文件的路径 :return: """ outfile_name = file_name.split('.')[0] + '-txt.mp4' subprocess.call('ffmpeg -i ' + file_name + ' -i ' + mp3_file + ' -strict -2 -f mp4 ' + outfile_name, shell=True) def compose_gif(file_path): """ 将静态图片转为gif动图 :param file_path: 传入图片的目录的路径 :return: """ img_paths = sorted([int(p[3:-4]) for p in os.listdir(file_path) if os.path.splitext(p)[1] == ".png"]) img_paths = img_paths[:int(len(img_paths) / 3.6)] gif_images = [] for path in img_paths: gif_images.append(imageio.imread('{0}/out{1}.png'.format(file_path, path))) imageio.mimsave("test.gif", gif_images, fps=30) def compress_png(file_path): """ 将gif动图转为每张静态图片 :param file_path: 传入gif文件的路径 :return: """ img_paths = [p for p in os.listdir(file_path) if os.path.splitext(p)[1] == ".png"] for filename in img_paths: with Image.open('{0}/{1}'.format(file_path, filename)) as im: width, height = im.size new_width = 150 new_height = int(new_width * height * 1.0 / width) resized_im = im.resize((new_width, new_height)) output_filename = filename resized_im.save('{0}/{1}'.format(file_path, output_filename)) if __name__ == '__main__': # video2mp3(file_name='data-a.mp4') video_add_mp3(file_name='swap-data-a.mp4', mp3_file='data-a.mp3') # compose_gif(file_path='merged') # compress_png(file_path='merged')
标题名称:利用Python怎么实现一个图像处理功能-创新互联
转载来于:http://lswzjz.com/article/djcdio.html