這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)利用Python怎么實(shí)現(xiàn)一個(gè)圖像處理功能,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一、簡(jiǎn)介
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
二、代碼總結(jié):
Imageio是一個(gè)Python庫(kù),提供了一個(gè)簡(jiǎn)單的界面來(lái)讀取和寫(xiě)入各種圖像數(shù)據(jù),包括動(dòng)畫(huà)圖像,視頻,體積數(shù)據(jù)和科學(xué)格式。它是跨平臺(tái)的,運(yùn)行在Python 2.7和3.4+上,易于安裝。
作為用戶,您只需要記住一些功能:
通過(guò)一系列功能簡(jiǎn)單的界面。
Imageio有一個(gè)相對(duì)簡(jiǎn)單的核心,為不同的文件格式提供通用接口。這個(gè)核心負(fù)責(zé)從不同的源(如http)讀取,并為插件公開(kāi)一個(gè)簡(jiǎn)單的API來(lái)訪問(wèn)原始數(shù)據(jù)。所有文件格式都在插件中實(shí)現(xiàn)。可以輕松注冊(cè)其他插件。
一些插件依賴(lài)于外部庫(kù)(例如ffmpeg)。Imageio提供了一種通過(guò)一個(gè)函數(shù)調(diào)用下載這些函數(shù)的方法,并在需要時(shí)提示用戶這樣做。下載緩存在您的appdata目錄中,這可以保持imageio輕松和可擴(kuò)展。
Imageio提供各種圖像格式,包括科學(xué)格式。任何有關(guān)實(shí)現(xiàn)更多格式的幫助都非常受歡迎!
代碼庫(kù)遵循PEP8樣式指南的(子集)。我們力求較大的測(cè)試覆蓋率(核心為100%,每個(gè)插件為> 95%)。
import subprocess
import imageio
import os
from PIL import Image
def video2mp3(file_name):
"""
將視頻轉(zhuǎn)為音頻
: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):
"""
將靜態(tài)圖片轉(zhuǎn)為gif動(dòng)圖
: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動(dòng)圖轉(zhuǎn)為每張靜態(tài)圖片
: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')
本文名稱(chēng):利用Python怎么實(shí)現(xiàn)一個(gè)圖像處理功能-創(chuàng)新互聯(lián)
URL鏈接:http://www.chinadenli.net/article0/djcdio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷(xiāo)推廣、響應(yīng)式網(wǎng)站、品牌網(wǎng)站制作、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容