Python Image模块基本图像处理操作小结

许南星
许南星
发布时间:2026-10-13| 3人浏览过
原创

本文总结Python中PIL库Image模块的基础图像处理方法,涵盖图片读取、显示、保存、创建、混合、点运算、通道分离与合并、缩放、旋转及像素级操作等核心功能,提供具体代码示例供参考。

Python Image模块基本图像处理操作

本文详细介绍Python中Image模块的基础图像处理操作,供读者参考学习。

在Python生态中,Image library(即PIL)是最常用的图像处理库之一。尽管其功能尚不及Matlab强大,但在日常开发中已足够使用。以下记录一些常用的操作笔记。

导入图像库与读取图片

首先,需要导入所需的图像库:


import Image

接着,读取一张图片文件:


im=Image.open('/home/Picture/test.jpg')

显示与保存图片

随后,显示加载的图片:


im.show()

将处理后的图片保存为指定格式:


im.save("save.gif","GIF") #保存图像为gif格式

创建新图片

创建一张全新的图片对象:


Image.new(mode,size)
Image.new(mode,size,color)

具体示例如下:


newImg = Image.new("RGBA",(640,480),(0,255,0))
newImg.save("newImg.png","PNG")

图片混合与点操作

执行两张图片的混合相加操作:


Image.blend(img1,img2,alpha) # 这里alpha表示img1和img2的比例参数

进行点操作(Pixel Point Operation),即对图像中的每个像素应用特定函数:


im.point(function) #,这个function接受一个参数,且对图片中的每一个点执行这个函数

例如,对每个像素点的值乘以1.5,实现亮度增强:


out=im.point(lambdai:i*1.5)#对每个点进行50%的加强

查看图像信息与裁剪

查看图像的基本属性信息:

im.format, im.size, im.mode

对图像进行指定区域的裁剪:


box=(100,100,500,500)
#设置要裁剪的区域
region=im.crop(box) #此时,region是一个新的图像对象。

图像粘贴与通道操作

将裁剪后的区域粘贴(合并)回原图:


im.paste(region,box)#粘贴box大小的region到原先的图片对象中。

分离图像的各个颜色通道:


r,g,b=im.split()#分割成三个通道,此时r,g,b分别为三个图像对象。

将分离的通道重新合并为一张图像:


im=Image.merge("RGB",(b,g,r))#将b,r两个通道进行翻转。

图像缩放、旋转与转换

调整图像的尺寸大小:


out=img.resize((128,128))#resize成128*128像素大小

对图像进行旋转处理:


out=img.rotate(45) #逆时针旋转45度

此外,还有更便捷的旋转方法:


region = region.transpose(Image.ROTATE_180)

进行图像模式的转换:


out = im.transpose(Image.FLIP_LEFT_RIGHT)
#左右对换。
out = im.transpose(Image.FLIP_TOP_BOTTOM)
#上下对换

转换图像的类型或格式:


im=im.convert("RGBA")

像素级读写操作

获取指定坐标位置的像素值:


im.getpixel((4,4))

修改指定坐标位置的像素值:


img.putpixel((4,4),(255,0,0))

如需了解更多Python相关知识,可参考本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》。

希望上述内容对您的Python编程有所帮助。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。