《程序设计基础(Python语言)》 课件 任务32:数字图像处理、音频处理的基础应用_第1页
《程序设计基础(Python语言)》 课件 任务32:数字图像处理、音频处理的基础应用_第2页
《程序设计基础(Python语言)》 课件 任务32:数字图像处理、音频处理的基础应用_第3页
《程序设计基础(Python语言)》 课件 任务32:数字图像处理、音频处理的基础应用_第4页
《程序设计基础(Python语言)》 课件 任务32:数字图像处理、音频处理的基础应用_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务32

数字图像处理、音频处理的

基础应用程序设计基础(Python语言)CONTENTS目录01任务背景与目标02使用Pillow库操作图片03基于Pydub库制作音频04任务测试与评价任务背景与目标01一、任务背景

在当今数字化时代,数字媒体应用已成为人们日常生活不可或缺的一部分。从图像处理到音频编辑,这些技术为信息的传递与表达提供了丰富的手段。

本任务旨在带领大家探索数字图像处理与音频处理的基础应用,通过实践掌握Pillow库和Pydub库的使用方法。

现在,让小@同学带领大家开始这段数字媒体应用之旅吧!二、任务目标1.掌握Pillow库的基本使用,熟练掌握使用Pillow库进行图片基本操作的方法。2.了解Pydub库的基本使用,会使用Pydub库进行简单的视频编辑。使用Pillow库操作图片02一、Pillow库01功能全面支持众多常见的图像格式,如JPEG、PNG、BMP等,能够满足各种图像处理需求。无论是简单的图像缩放、裁剪,还是复杂的图像滤镜应用、色彩调整,Pillow都能轻松应对。02易于使用其

API设计简洁直观,对于初学者来说容易上手。通过简单的函数调用,即可实现各种图像处理效果。03安装使用pip命令即可方便地安装Pillow库,在终端或命令提示符中输入以下指令。pipinstallPillow04属性、方法在Python中,我们可以使用Pillow库的Image模块来对图片进行各种操作。05具体操作下面简单的介绍语法规则。fromPILimportImageimg=Image.open(“路径”)说明:(1)fromPILimportImage表示从Pillow库中引入Image模块(2)Image.open(“路径”)用于打开一张图片,它会返回一个Image对象,通过这个对象获取图片的基本信息并对图片进行处理。一、Pillow库属性说明filename图片名称format图片格式size图片大小属性说明save()图片保存show()图片显示resize()重新改变图片大小crop()切割图片retate()旋转图片copy()复制图片paste()粘贴图片表9-2Image对象方法表表9-1

Image对象属性表【案例32-1】使用Pillow函数的属性和方法对图片进行操作一、案例描述

小@同学有一张自拍照向大家进行展示,如图32-1所示。小@同学现在需要使用Image模块输出自拍照的名称、格式和大小,并使用方法对图片进行旋转、缩放、保存等操作。二、操作步骤详解1.导入Pillow库。2.使用filename()属性输出图片名称,format()属性输出图片格式,size()属性输出图片大小。3.使用resize()、rotate()、save()、show()方法对图片进行操作。4.运行程序。三、代码示例及显示结果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)#旋转图像rotated_image=resized_image.rotate(-45)#保存修改后的图像rotated_image.save(r"img\output.jpg")#显示修改后的图像rotated_image.show()案例显示结果该自拍照格式为:MPO该自拍照大小为:(4032,3024)该自拍照模式为:RGB案例终端显示结果四、案例总结该项目中需使用Pillow库中Image对象的以下属性和方法:1.format()属性:用于显示图片格式size()属性:用于显示图片大小。2.resize()方法:重新调整图片大小。3.rotate()方法:对图片进行旋转。案例中逆向旋转45度,即-45度。4.open()方法:用于打开图片。格式为:image=Image.open(fp,mode='r')(1)fp(必需)含义:表示文件路径,用于指定要打开图像文件。可以是绝对路径或相对路径。绝对路径:完整地指定了文件在文件系统中的位置。例如在Windows系统中r"C:\Users\username\Pictures\example.jpg"。相对路径:相对于当前工作目录的路径。例如,如果当前工作目录下有一个名为images的文件夹,其中包含example.jpg文件,那么可以使用'images/example.jpg'。(2)mode(可选)含义:指定打开文件的模式,默认值为'r',表示只读模式。五、案例启示

对图片进行操作时,必须了解许多图片受到版权保护,未经授权使用可能会导致法律问题。在下载和使用图片时,请确保了解图片的版权类型和创作共用协议,避免侵犯他人的著作权。【训练32-1】使用Pillow函数的属性和方法裁剪图片一、案例描述

小@同学所在学校在雷锋纪念日时安排各个班级制作板报,物联网班的同学需要将本班板报(如图32-3所示)进行切割,仅保留下方黑板内容,并将输出图片为“output_new.jpg”。二、操作步骤详解(1)训练分析

使用Pillow库中的crop()方法和save()方法编写以上案例。(2)操作步骤①

进入编辑环境,新建源程序。②

输入源代码如下。③

调试程序,输出结果。三、代码示例及显示结果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()案例显示结果四、案例总结在Pillow库中,Image.crop()

方法是用于裁剪图像。具体语法为:Image.crop((x1,y1,x2,y2))

crop()

方法接收接收包含4个整数的元组作为参数。

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

本案例中,裁剪后的图片output_new的左上角坐标为(0,525),右下角左边为(2746,1249),可根据以上坐标值进行程序编写。基于Pydub库制作音频03二、Pydub库01特点支持多种音频格式:能够处理常见的音频格式,如MP3、WAV、OGG等,方便在不同格式之间进行转换和处理。简单的音频操作:提供了简洁的方法来实现音频的剪辑、拼接、音量调整等操作,大大提高了音频处理的效率。02安装要使用Pydub库,需要先安装ffmpeg或libav,并确保它们在系统路径中可用。然后,通过pip命令安装Pydub。pipinstallPydub03具体操作在Python中,可以使用属性和方法进行操作。二、Pydub库

表9-3

音频的属性表属性说明duration_seconds音频片段的时长,单位为秒frame_rate音频的采样率,即每秒的采样点数channels音频的声道数,例如单声道为

1,立体声为2frames音频中的帧数

表9-4

AudioSegment的方法表方法说明__init__构造函数,用于创建

`AudioSegment`对象,可以从文件、字节数据、原始音频数据等创建。from_file从文件中加载音频数据,返回

`AudioSegment`对象from_mp3从

MP3文件中加载音频数据,返回`AudioSegment`对象方法说明+重载加法运算符,用于增加音频的音量-重载减法运算符,用于降低音频的音量*重载乘法运算符,用于重复音频片段多次apply_gain增加或减少音频的音量,单位为分贝fade_in使音频在指定的时间内从静音渐变为正常音量fade_out使音频在指定的时间内从正常音量渐变为静音【案例32-3】使用Pydub库对音频进行操作一、案例描述

小@同学喜欢听《千与千寻》插曲,并且想把这首歌的前半部分作为元旦联欢会的节目插曲,现需要小@同学将这首曲子的前半段裁剪出来,并将音频输出为output.mp3。二、操作步骤详解1.导入Pydub库。2.使用from_file()方法加载音频文件,duration_seconds()属性获取音频片段的时长,使用“+”增加音量,export()方法用于输出新音频。3.运行程序。三、代码示例及显示结果fromPydubimportAudioSegment#加载音频文件audio=AudioSegment.from_file(r"\vidio\example.mp3")#获取音频时长duration=audio.duration_secondsprint(f"音频时长:{duration}秒")#增加音量louder_audio=audio+10#导出音频louder_audio.export("louder_example.mp3",format="mp3")四、案例任务小结Pydub依赖于ffmpeg或libav来处理非WAV格式的音频文件,如MP3、OGG等。

在安装Pydub之前,需要先安装ffmpeg或libav。可以从FFmpeg官方网站下载并安装适合系统的版本,并确保ffmpeg的可执行文件路径添加到系统环境变量中。

本案例中,需要安装ffmpeg(可在ffmpeg官网下载),解压缩后将bin路径增加到系统环境变量中。任务测试与总结04一、选择题1.Pillow库是Python中用于什么处理的强大库?(B)

A.文本处理 B.图像处理 C.音频处理 D.视频处理2.使用Pillow库时,要打开一张图片,应使用哪个方法?(B)

A.Image.save() B.Image.open() C.Image.show() D.Image.resize()3.在Pillow库中,要获取图片的大小,应使用哪个属性?(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.apply_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库对图片进行旋转时,应使用哪个方法?(A)

A.rotate() B.resize() C.crop() D.paste()9.Pydub库支持处理的音频格式不包括哪一种?(D)A.MP3 B.WAV C.OGG D.BMP10.在Pillow库中,要显示图片,应使用哪个方法?(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()____方法用于从文件中加载音频数据。7.使用Pillow库的Image.resize()方法可以改变图片的__尺寸(大小)___。8.Pydub库提供的__fade_in()__方法可以实现音频的渐入效果。9.Pillow库和Pydub库分别用于__图像处理____和___音频处理___的基础应用。10.在使用Pillow库处理图片时,如果未经授权使用受版权保护的图片,可能会导致__版权侵权____问题。三、编程题1.小@同学所在学校要求制作一期手抄报,主题为《觉醒年代》。现在要求小@同

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论