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

下載本文檔

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

文檔簡介

任務(wù)32數(shù)字圖像處理、音頻處理的基礎(chǔ)應(yīng)用任務(wù)背景在當(dāng)今數(shù)字化時(shí)代,數(shù)字媒體應(yīng)用已成為人們?nèi)粘I畈豢苫蛉钡囊徊糠帧膱D像處理到音頻編輯,這些技術(shù)為信息的傳遞與表達(dá)提供了豐富的手段。本任務(wù)旨在帶領(lǐng)大家探索數(shù)字圖像處理與音頻處理的基礎(chǔ)應(yīng)用,通過實(shí)踐掌握Pillow庫和Pydub庫的使用方法?,F(xiàn)在,讓小@同學(xué)帶領(lǐng)大家開始這段數(shù)字媒體應(yīng)用之旅吧!任務(wù)目標(biāo)1.掌握Pillow庫的基本使用,熟練掌握使用Pillow庫進(jìn)行圖片基本操作的方法。2.了解Pydub庫的基本使用,會使用Pydub庫進(jìn)行簡單的視頻編輯。任務(wù)準(zhǔn)備32.1Pillow庫Pillow庫是Python中一個(gè)強(qiáng)大的圖像處理庫,它提供了豐富的功能和工具,用于圖像的加載、創(chuàng)建、編輯和保存等操作。1.特點(diǎn)功能全面:支持眾多常見的圖像格式,如JPEG、PNG、BMP等,能夠滿足各種圖像處理需求。無論是簡單的圖像縮放、裁剪,還是復(fù)雜的圖像濾鏡應(yīng)用、色彩調(diào)整,Pillow都能輕松應(yīng)對。易于使用:其API設(shè)計(jì)簡潔直觀,對于初學(xué)者來說容易上手。通過簡單的函數(shù)調(diào)用,即可實(shí)現(xiàn)各種圖像處理效果。2.安裝使用pip命令即可方便地安裝Pillow庫,在終端或命令提示符中輸入以下指令。pipinstallPillow3.屬性方法在Python中,我們可以使用Pillow庫的Image模塊來對圖片進(jìn)行各種操作。表9-1和表9-2分別為Image對象的屬性和方法。表9-1Image對象屬性表屬性說明filename圖片名稱format圖片格式size圖片大小表9-2Image對象方法表屬性說明save()圖片保存show()圖片顯示resize()重新改變圖片大小crop()切割圖片retate()旋轉(zhuǎn)圖片copy()復(fù)制圖片paste()粘貼圖片4.具體操作下面簡單的介紹語法規(guī)則。fromPILimportImageimg=Image.open(“路徑”)說明:(1)fromPILimportImage表示從Pillow庫中引入Image模塊(2)Image.open(“路徑”)用于打開一張圖片,它會返回一個(gè)Image對象,通過這個(gè)對象獲取圖片的基本信息并對圖片進(jìn)行處理。任務(wù)實(shí)施【案例32-1】使用Pillow函數(shù)的屬性和方法對圖片進(jìn)行操作圖9-1小@同學(xué)的自拍照案例描述:小@同學(xué)有一張自拍照向大家進(jìn)行展示,如圖32-1所示。小@同學(xué)現(xiàn)在需要使用Image模塊輸出自拍照的名稱、格式和大小,并使用方法對圖片進(jìn)行旋轉(zhuǎn)、縮放、保存等操作。圖9-1小@同學(xué)的自拍照操作步驟:5.導(dǎo)入Pillow庫。6.使用filename()屬性輸出圖片名稱,format()屬性輸出圖片格式,size()屬性輸出圖片大小。7.使用resize()、rotate()、save()、show()方法對圖片進(jìn)行操作。8.運(yùn)行程序。代碼示例: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()圖9-2操作后輸出的圖片案例結(jié)果:圖9-2操作后輸出的圖片案例運(yùn)行結(jié)果如圖32-2所示,終端顯示結(jié)果如下所示。該自拍照格式為:MPO該自拍照大小為:(4032,3024)該自拍照模式為:RGB案例任務(wù)小結(jié)該項(xiàng)目中需使用Pillow庫中Image對象的以下屬性和方法:1.format()屬性:用于顯示圖片格式size()屬性:用于顯示圖片大小。2.resize()方法:重新調(diào)整圖片大小。3.rotate()方法:對圖片進(jìn)行旋轉(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"。相對路徑:相對于當(dāng)前工作目錄的路徑。例如,如果當(dāng)前工作目錄下有一個(gè)名為images的文件夾,其中包含example.jpg文件,那么可以使用'images/example.jpg'。(2)mode(可選)含義:指定打開文件的模式,默認(rèn)值為'r',表示只讀模式?!景咐龁⑹尽繉D片進(jìn)行操作時(shí),必須了解許多圖片受到版權(quán)保護(hù),未經(jīng)授權(quán)使用可能會導(dǎo)致法律問題。在下載和使用圖片時(shí),請確保了解圖片的版權(quán)類型和創(chuàng)作共用協(xié)議,避免侵犯他人的著作權(quán)。

【訓(xùn)練32-1】使用Pillow函數(shù)的屬性和方法裁剪圖片案例描述:小@同學(xué)所在學(xué)校在雷鋒紀(jì)念日時(shí)安排各個(gè)班級制作板報(bào),物聯(lián)網(wǎng)班的同學(xué)需要將本班板報(bào)(如圖32-3所示)進(jìn)行切割,僅保留下方黑板內(nèi)容,并將輸出圖片為“output_new.jpg”。圖9-3學(xué)雷鋒紀(jì)念日主題板報(bào)(1)訓(xùn)練分析使用Pillow庫中的crop()方法和save()方法編寫以上案例。(2)操作步驟①進(jìn)入編輯環(huán)境,新建源程序。②輸入源代碼如下。裁剪之后的圖片如圖32-4所示。圖9-4裁剪后的圖片output_new(3)訓(xùn)練任務(wù)小結(jié)在Pillow庫中,Image.crop()

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

方法接收接收包含4個(gè)整數(shù)的元組作為參數(shù)。x1、y1表示左上角坐標(biāo),x2、y2表示右下角坐標(biāo)。本案例中,裁剪后的圖片output_new的左上角坐標(biāo)為(0,525),右下角左邊為(2746,1249),可根據(jù)以上坐標(biāo)值進(jìn)行程序編寫。32.2Pydub庫Pydub是一個(gè)簡單的、高級的音頻處理庫,它基于ffmpeg或libav,提供了易于使用的音頻剪輯、合并、分割以及效果處理等功能。Pydub使得Python中的音頻處理變得簡單而強(qiáng)大。(1)特點(diǎn)支持多種音頻格式:能夠處理常見的音頻格式,如MP3、WAV、OGG等,方便在不同格式之間進(jìn)行轉(zhuǎn)換和處理。簡單的音頻操作:提供了簡潔的方法來實(shí)現(xiàn)音頻的剪輯、拼接、音量調(diào)整等操作,大大提高了音頻處理的效率。(2)安裝要使用Pydub庫,需要先安裝ffmpeg或libav,并確保它們在系統(tǒng)路徑中可用。然后,通過pip命令安裝Pydub。pipinstallPydub(3)具體操作在Python中,可以使用表9-3、表9-4中的屬性和方法對音頻進(jìn)行處理。表9-3音頻的屬性表屬性說明duration_seconds音頻片段的時(shí)長,單位為秒frame_rate音頻的采樣率,即每秒的采樣點(diǎn)數(shù)channels音頻的聲道數(shù),例如單聲道為1,立體聲為2frames音頻中的幀數(shù)表9-4AudioSegment的方法表方法說明__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`對象續(xù)表方法說明+重載加法運(yùn)算符,用于增加音頻的音量-重載減法運(yùn)算符,用于降低音頻的音量*重載乘法運(yùn)算符,用于重復(fù)音頻片段多次apply_gain增加或減少音頻的音量,單位為分貝fade_in使音頻在指定的時(shí)間內(nèi)從靜音漸變?yōu)檎R袅縡ade_out使音頻在指定的時(shí)間內(nèi)從正常音量漸變?yōu)殪o音任務(wù)實(shí)施【案例32-3】使用Pydub庫對音頻進(jìn)行操作案例描述:小@同學(xué)喜歡聽《千與千尋》插曲,并且想把這首歌的前半部分作為元旦聯(lián)歡會的節(jié)目插曲,現(xiàn)需要小@同學(xué)將這首曲子的前半段裁剪出來,并將音頻輸出為output.mp3。操作步驟:1.導(dǎo)入Pydub庫。2.使用from_file()方法加載音頻文件,duration_seconds()屬性獲取音頻片段的時(shí)長,使用“+”增加音量,export()方法用于輸出新音頻。3.運(yùn)行程序。代碼示例:fromPydubimportAudioSegment#加載音頻文件audio=AudioSegment.from_file(r"\vidio\example.mp3")#獲取音頻時(shí)長duration=audio.duration_secondsprint(f"音頻時(shí)長:{duration}秒")#增加音量louder_audio=audio+10#導(dǎo)出音頻louder_audio.export("louder_example.mp3",

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論