PIL图像处理,python pil 图片识别
PIL图书馆概述
PIL库是Python优秀的第三方库,必须通过pip安装:
pip安装枕头
PIL图书馆支持图像的存储、显示和处理,可以处理几乎所有的图像格式。您可以缩放、裁剪、覆盖、添加线条、图像和文本到图像中。
解析PIL图书馆的图像类
在PIL,您可以使用“Image”工具来演示如何在任何图像文件中读取和创建图像类图像。
Image.open(filename) #加载凭据参数图像文件
Image.new (mode,size,color) # credentials使用指定的参数创建新图像
从image.open (stringio.stringio)缓冲区中检索图像)# string
使用image.frombytes(mode,size,data) #凭据像素数据创建图像。
Image.verify(#检查图像文件的完整性并返回异常
Image类有四个用于处理图像的常规属性。
Image.format #标识图像格式或来源,如果图像不是从文件中读取的,则为None。
图像的颜色模式。模式#图像,“L”灰度图像,“RGB”真彩色图像和“CMYK”发布图像
Image.size #图像的宽度和高度。是单元格像素(px),返回值是二元元组。
Image.palette #调色板属性。返回ImagePalette类型
有三种方法来转换和存储类图像。
保留image.save(文件名,格式)图像作为文件名。格式是一种图像格式。
Image.convert(mode))使用difference参数将图像转换为新模式。
为图像创建缩略图。缩略图(大小)图像。大小是缩略图大小的二进制组。
图像类图像缩放和旋转方法:
Image.resize(size))按size键微调图像,自然复制。
旋转图像。按角度旋转(角度)#图像,自然复制。
图像类可以分别对RGB图像的每个像素或每个通道进行操作。Split(可以提取RGB图像中的每个颜色通道,而merge)可以将每个力通道重新组合成新的图像。
image . point(func)# credential func func函数对每个元素执行操作,并返回图像的副本。
Image.split#RGB提取图像中的每个颜色通道,并返回图像的副本。
合并image.merge(模式、波段)通道,接受模式颜色。Bands是一种新的颜色通道。
image.blend(im1,im2,alpha)).
这里,image.blend(im1,im2,alpha)基于公式im1 * (1.0-alpha) im2 * alpha对两个图像im1和im2进行插值,并且自然地生成新图像。
PIL库的ImageFilter和ImageEnhance类提供了图像过滤和扩展方法,共有10种类型:
图像过滤器。模糊#图像模糊效果
图像过滤器。图像的轮廓效果
图像过滤器。细节#图像细节
图像过滤器。EDGE_ENHANCE #图像边界增强效果
图像过滤器。EDGE_ENHANCE_MORE #图像阈值边界增强效果
图像滤镜的浮雕效果。浮雕#图像
图像过滤器。图像的FIND_EDGES #边框效果
图像过滤器。平滑#图像的平滑效果
图像过滤器。SMOOTH_MORE #图像的阈值平滑效果
图像过滤器。锐化#图像的锐化效果
ImageEnhance类提供了更高级的图像扩展需求,并提供了调整饱和度、亮度、对比度、锐化等功能。
Imageenhance.enhance(factor)将选定属性的值增强一个因子。
Imageenhance.color(im) #调整图像的色彩平衡。
Imageenhance.contrast(im) #调整图像的对比度。
增强。亮度(im) #调整图像的亮度。
图像增强。锐度(im) #调整图像的锐度。
获取缩略图
从pil导入图像
im=image . open(c:(BAC hongying.jpg)))))).
im.thumbnail(),128))
im.save(1BAChongying.jpg))。
得到图像的轮廓。
frompiliportimagefrompiliportimagefilter
im=image . open(c:(BAC hongying.jpg)))))).
om=im.filter(图像过滤器.轮廓)).
om.save(BAChongying2.jpg))。
照片压花
frompiliportimagefrompiliportimagefilter
im=image . open(c:(BAC hongying.jpg)))))).
om=im . filter(image filter . emboss))。
om.save(BAChongying3.jpg))。
制作一幅汉字图。
从pil导入图像
ascii_char=list("学习让我幸福”)def get_char(r ) r、b、g、alpha=256):如果alpha==0: return gray=
unit=256/Len(ascii _ char)return ascii _ char[int(gray//unit)]defmain):
im=图像。打开(c:(BAC hongying.jpg))))))。
WIDTH,height=100,60im=im.resize ((width,height))
txt=
原始范围(身高) :原始范围(宽度) :
TXT=get_char(im.getpixel ) (j,I))
TXT=\nfo=open(pic_char.txt , w )
fo.write(txt))。
fo.close())。
main())
原文链接字体blogs.com/luling博克
本网站声明将:个网站的内容来源于互联网。如果有侵害的话,请联系我。立即处置。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。