《程序設(shè)計基礎(chǔ)(Python語言)》 課件 任務(wù)32:數(shù)字圖像處理、音頻處理的基礎(chǔ)應(yīng)用_第1頁
《程序設(shè)計基礎(chǔ)(Python語言)》 課件 任務(wù)32:數(shù)字圖像處理、音頻處理的基礎(chǔ)應(yīng)用_第2頁
《程序設(shè)計基礎(chǔ)(Python語言)》 課件 任務(wù)32:數(shù)字圖像處理、音頻處理的基礎(chǔ)應(yīng)用_第3頁
《程序設(shè)計基礎(chǔ)(Python語言)》 課件 任務(wù)32:數(shù)字圖像處理、音頻處理的基礎(chǔ)應(yīng)用_第4頁
《程序設(shè)計基礎(chǔ)(Python語言)》 課件 任務(wù)32:數(shù)字圖像處理、音頻處理的基礎(chǔ)應(yīng)用_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

任務(wù)32

數(shù)字圖像處理、音頻處理的

基礎(chǔ)應(yīng)用程序設(shè)計基礎(chǔ)(Python語言)CONTENTS目錄01任務(wù)背景與目標02使用Pillow庫操作圖片03基于Pydub庫制作音頻04任務(wù)測試與評價任務(wù)背景與目標01一、任務(wù)背景

在當今數(shù)字化時代,數(shù)字媒體應(yīng)用已成為人們?nèi)粘I畈豢苫蛉钡囊徊糠?。從圖像處理到音頻編輯,這些技術(shù)為信息的傳遞與表達提供了豐富的手段。

本任務(wù)旨在帶領(lǐng)大家探索數(shù)字圖像處理與音頻處理的基礎(chǔ)應(yīng)用,通過實踐掌握Pillow庫和Pydub庫的使用方法。

現(xiàn)在,讓小@同學帶領(lǐng)大家開始這段數(shù)字媒體應(yīng)用之旅吧!二、任務(wù)目標1.掌握Pillow庫的基本使用,熟練掌握使用Pillow庫進行圖片基本操作的方法。2.了解Pydub庫的基本使用,會使用Pydub庫進行簡單的視頻編輯。使用Pillow庫操作圖片02一、Pillow庫01功能全面支持眾多常見的圖像格式,如JPEG、PNG、BMP等,能夠滿足各種圖像處理需求。無論是簡單的圖像縮放、裁剪,還是復(fù)雜的圖像濾鏡應(yīng)用、色彩調(diào)整,Pillow都能輕松應(yīng)對。02易于使用其

API設(shè)計簡潔直觀,對于初學者來說容易上手。通過簡單的函數(shù)調(diào)用,即可實現(xiàn)各種圖像處理效果。03安裝使用pip命令即可方便地安裝Pillow庫,在終端或命令提示符中輸入以下指令。pipinstallPillow04屬性、方法在Python中,我們可以使用Pillow庫的Image模塊來對圖片進行各種操作。05具體操作下面簡單的介紹語法規(guī)則。fromPILimportImageimg=Image.open(“路徑”)說明:(1)fromPILimportImage表示從Pillow庫中引入Image模塊(2)Image.open(“路徑”)用于打開一張圖片,它會返回一個Image對象,通過這個對象獲取圖片的基本信息并對圖片進行處理。一、Pillow庫屬性說明filename圖片名稱format圖片格式size圖片大小屬性說明save()圖片保存show()圖片顯示resize()重新改變圖片大小crop()切割圖片retate()旋轉(zhuǎn)圖片copy()復(fù)制圖片paste()粘貼圖片表9-2Image對象方法表表9-1

Image對象屬性表【案例32-1】使用Pillow函數(shù)的屬性和方法對圖片進行操作一、案例描述

小@同學有一張自拍照向大家進行展示,如圖32-1所示。小@同學現(xiàn)在需要使用Image模塊輸出自拍照的名稱、格式和大小,并使用方法對圖片進行旋轉(zhuǎn)、縮放、保存等操作。二、操作步驟詳解1.導(dǎo)入Pillow庫。2.使用filename()屬性輸出圖片名稱,format()屬性輸出圖片格式,size()屬性輸出圖片大小。3.使用resize()、rotate()、save()、show()方法對圖片進行操作。4.運行程序。三、代碼示例及顯示結(jié)果fromPILimportImage#打開圖像image=Image.open(r"img\小@.jpg")#顯示圖像基本屬性print(f"該自拍照格式為:{image.format}")print(f"該自拍照大小為:{image.size}")print(f"該自拍照模式為:{image.mode}")#縮放圖像new_size=(image.width//8,image.height//8)resized_image=image.resize(new_size)#旋轉(zhuǎn)圖像rotated_image=resized_image.rotate(-45)#保存修改后的圖像rotated_image.save(r"img\output.jpg")#顯示修改后的圖像rotated_image.show()案例顯示結(jié)果該自拍照格式為:MPO該自拍照大小為:(4032,3024)該自拍照模式為:RGB案例終端顯示結(jié)果四、案例總結(jié)該項目中需使用Pillow庫中Image對象的以下屬性和方法:1.format()屬性:用于顯示圖片格式size()屬性:用于顯示圖片大小。2.resize()方法:重新調(diào)整圖片大小。3.rotate()方法:對圖片進行旋轉(zhuǎn)。案例中逆向旋轉(zhuǎn)45度,即-45度。4.open()方法:用于打開圖片。格式為:image=Image.open(fp,mode='r')(1)fp(必需)含義:表示文件路徑,用于指定要打開圖像文件??梢允墙^對路徑或相對路徑。絕對路徑:完整地指定了文件在文件系統(tǒng)中的位置。例如在Windows系統(tǒng)中r"C:\Users\username\Pictures\example.jpg"。相對路徑:相對于當前工作目錄的路徑。例如,如果當前工作目錄下有一個名為images的文件夾,其中包含example.jpg文件,那么可以使用'images/example.jpg'。(2)mode(可選)含義:指定打開文件的模式,默認值為'r',表示只讀模式。五、案例啟示

對圖片進行操作時,必須了解許多圖片受到版權(quán)保護,未經(jīng)授權(quán)使用可能會導(dǎo)致法律問題。在下載和使用圖片時,請確保了解圖片的版權(quán)類型和創(chuàng)作共用協(xié)議,避免侵犯他人的著作權(quán)?!居柧?2-1】使用Pillow函數(shù)的屬性和方法裁剪圖片一、案例描述

小@同學所在學校在雷鋒紀念日時安排各個班級制作板報,物聯(lián)網(wǎng)班的同學需要將本班板報(如圖32-3所示)進行切割,僅保留下方黑板內(nèi)容,并將輸出圖片為“output_new.jpg”。二、操作步驟詳解(1)訓練分析

使用Pillow庫中的crop()方法和save()方法編寫以上案例。(2)操作步驟①

進入編輯環(huán)境,新建源程序。②

輸入源代碼如下。③

調(diào)試程序,輸出結(jié)果。三、代碼示例及顯示結(jié)果fromPILimportImage#打開圖像image=Image.open(r"img\練習32-1.jpg")#裁剪圖片result_img=image.crop((0,525,2746,1249))#保存修改后的圖像result_img.save(r"img\output_new.jpg")#顯示修改后的圖像result_img.show()案例顯示結(jié)果四、案例總結(jié)在Pillow庫中,Image.crop()

方法是用于裁剪圖像。具體語法為:Image.crop((x1,y1,x2,y2))

crop()

方法接收接收包含4個整數(shù)的元組作為參數(shù)。

x1、y1表示左上角坐標,x2、y2表示右下角坐標。

本案例中,裁剪后的圖片output_new的左上角坐標為(0,525),右下角左邊為(2746,1249),可根據(jù)以上坐標值進行程序編寫。基于Pydub庫制作音頻03二、Pydub庫01特點支持多種音頻格式:能夠處理常見的音頻格式,如MP3、WAV、OGG等,方便在不同格式之間進行轉(zhuǎn)換和處理。簡單的音頻操作:提供了簡潔的方法來實現(xiàn)音頻的剪輯、拼接、音量調(diào)整等操作,大大提高了音頻處理的效率。02安裝要使用Pydub庫,需要先安裝ffmpeg或libav,并確保它們在系統(tǒng)路徑中可用。然后,通過pip命令安裝Pydub。pipinstallPydub03具體操作在Python中,可以使用屬性和方法進行操作。二、Pydub庫

表9-3

音頻的屬性表屬性說明duration_seconds音頻片段的時長,單位為秒frame_rate音頻的采樣率,即每秒的采樣點數(shù)channels音頻的聲道數(shù),例如單聲道為

1,立體聲為2frames音頻中的幀數(shù)

表9-4

AudioSegment的方法表方法說明__init__構(gòu)造函數(shù),用于創(chuàng)建

`AudioSegment`對象,可以從文件、字節(jié)數(shù)據(jù)、原始音頻數(shù)據(jù)等創(chuàng)建。from_file從文件中加載音頻數(shù)據(jù),返回

`AudioSegment`對象from_mp3從

MP3文件中加載音頻數(shù)據(jù),返回`AudioSegment`對象方法說明+重載加法運算符,用于增加音頻的音量-重載減法運算符,用于降低音頻的音量*重載乘法運算符,用于重復(fù)音頻片段多次apply_gain增加或減少音頻的音量,單位為分貝fade_in使音頻在指定的時間內(nèi)從靜音漸變?yōu)檎R袅縡ade_out使音頻在指定的時間內(nèi)從正常音量漸變?yōu)殪o音【案例32-3】使用Pydub庫對音頻進行操作一、案例描述

小@同學喜歡聽《千與千尋》插曲,并且想把這首歌的前半部分作為元旦聯(lián)歡會的節(jié)目插曲,現(xiàn)需要小@同學將這首曲子的前半段裁剪出來,并將音頻輸出為output.mp3。二、操作步驟詳解1.導(dǎo)入Pydub庫。2.使用from_file()方法加載音頻文件,duration_seconds()屬性獲取音頻片段的時長,使用“+”增加音量,export()方法用于輸出新音頻。3.運行程序。三、代碼示例及顯示結(jié)果fromPydubimportAudioSegment#加載音頻文件audio=AudioSegment.from_file(r"\vidio\example.mp3")#獲取音頻時長duration=audio.duration_secondsprint(f"音頻時長:{duration}秒")#增加音量louder_audio=audio+10#導(dǎo)出音頻louder_audio.export("louder_example.mp3",format="mp3")四、案例任務(wù)小結(jié)Pydub依賴于ffmpeg或libav來處理非WAV格式的音頻文件,如MP3、OGG等。

在安裝Pydub之前,需要先安裝ffmpeg或libav。可以從FFmpeg官方網(wǎng)站下載并安裝適合系統(tǒng)的版本,并確保ffmpeg的可執(zhí)行文件路徑添加到系統(tǒng)環(huán)境變量中。

本案例中,需要安裝ffmpeg(可在ffmpeg官網(wǎng)下載),解壓縮后將bin路徑增加到系統(tǒng)環(huán)境變量中。任務(wù)測試與總結(jié)04一、選擇題1.Pillow庫是Python中用于什么處理的強大庫?(B)

A.文本處理 B.圖像處理 C.音頻處理 D.視頻處理2.使用Pillow庫時,要打開一張圖片,應(yīng)使用哪個方法?(B)

A.Image.save() B.Image.open() C.Image.show() D.Image.resize()3.在Pillow庫中,要獲取圖片的大小,應(yīng)使用哪個屬性?(C)

A.filename B.format C.size D.mode4.Pydub庫是基于哪個工具或庫進行音頻處理的?(B)

A.libjpeg B.ffmpeg或libav C.PIL D.NumPy5.使用Pydub庫處理MP3文件前,需要先安裝哪個依賴?(B)A.PIL B.ffmpeg或libav C.OpenCV D.SciPy一、選擇題6.在Pydub庫中,哪個方法用于增加或減少音頻的音量?(A)

A.a(chǎn)pply_gain() B.fade_in() C.fade_out() D.export()7.下列哪個不是Pydub庫中AudioSegment對象的方法?(B)A.from_file() B.duration_seconds()C.export() D.crop()8.使用Pillow庫對圖片進行旋轉(zhuǎn)時,應(yīng)使用哪個方法?(A)

A.rotate() B.resize() C.crop() D.paste()9.Pydub庫支持處理的音頻格式不包括哪一種?(D)A.MP3 B.WAV C.OGG D.BMP10.在Pillow庫中,要顯示圖片,應(yīng)使用哪個方法?(C)

A.Image.open() B.Image.save() C.Image.show() D.Image.resize()二、填空題1.Pillow庫是Python中一個___強大且易用___的圖像處理庫。2.使用pip命令安裝Pillow庫的指令是___pipinstallpillow___。3.在Pillow庫中,Image對象的___format___屬性用于顯示圖片格式。4.Pydub庫使得Python中的__音頻____處理變得簡單而強大。5.要使用Pydub庫處理非WAV格式的音頻文件,需要先安裝___FFmpeg___或___libav___。6.在Pydub庫中,AudioSegment對象的__from_file()____方法用于從文件中加載音頻數(shù)據(jù)。7.使用Pillow庫的Image.resize()方法可以改變圖片的__尺寸(大?。__。8.Pydub庫提供的__fade_in()__方法可以實現(xiàn)音頻的漸入效果。9.Pillow庫和Pydub庫分別用于__圖像處理____和___音頻處理___的基礎(chǔ)應(yīng)用。10.在使用Pillow庫處理圖片時,如果未經(jīng)授權(quán)使用受版權(quán)保護的圖片,可能會導(dǎo)致__版權(quán)侵權(quán)____問題。三、編程題1.小@同學所在學校要求制作一期手抄報,主題為《覺醒年代》。現(xiàn)在要求小@同

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論