Python Image模块基本图像处理操作小结
本文总结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编程有所帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









