IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> [python]图像处理pillow库学习记录,查看图像信息、格式转换、 图像通道分离与合并、图像增强等等······ -> 正文阅读

[人工智能][python]图像处理pillow库学习记录,查看图像信息、格式转换、 图像通道分离与合并、图像增强等等······

一.前言:

pillow库是python中经常使用的图像处理库,其中包含了很多的图像处理方法。RGB图像是我们经常使用的图像,常常需要对RGB图像进行处理,或者获取图像的一些基本信息。
pillow库学习记录!

二.直接上代码,带注释:

1.图像信息获取

# 1.图像文件读取
im = Image.open("img/hi.jpg")      # 从文件加载图像,若读取成功,将返回Image对象

# format属性标识图像的源
# size属性为图像高度和宽度
# mode属性定义图像中带区的编号和名称,以及像素类型
#   L 标识灰度图;RGB 表示真彩色图像;CMYK 表示预压图像
print(im.format, im.size, im.mode)  

im.show()   # 显示加载的图像

2.图像格式转换
例如:jpg 转换为 png,是通过改变文件后缀来实现的,有一点low。

# 2.文件格式转换
file = "文件名称"    #一般通过split()函数划分
outfile = file + '.jpg'      #这里将图像文件转换为JPG格式
 

3.图像裁剪粘贴
剪辑和粘贴使用的坐标系,坐标原点都在左上角。

# 3.图像裁剪黏贴
# pillow库支持按透明度的形式进行黏贴,255表示不透明,0表示透明
box = (100, 100, 400, 400)      # 四元组,表示左上、右下坐标
region = im.crop(box)           # crop()从指定位置进行裁剪

region = region.transpose(Image.ROTATE_90) # 图像逆时针旋转90度
im.paste(region, box)           # 在指定位置进行图像黏贴

4.图像通道分离与合并

# 4.split()函数创建一组新图像,每个新图像包含原始多波段图像的一个波段
# merge()函数接收一个模式和一组图像,并将它们组合成一个新图像     
r, g, b = im.split()    
im = Image.merge('RGB', (g, b, r))

5.空间几何变换、缩放、旋转rotate和transpose都能实现,transpose函数可以指定旋转轴为水平方向还是垂直方向

im.transpose(Image.FLIP_LEFT_RIGHT)
# Image.FLIP_LEFT_RIGHT:左右水平翻转;
# Image.FLIP_TOP_BOTTOM:上下垂直翻转;
# Image.ROTATE_90:图像旋转 90 度;
# Image.ROTATE_180:图像旋转 180 度;
# Image.ROTATE_270:图像旋转 270 度;
# Image.TRANSPOSE:图像转置;
# Image.TRANSVERSE:图像横向翻转。

6.颜色空间变换和图像增强

im = im.convert("L")
# point()函数用于处理图像像素值,例如对比度变换
out = im.point(lambda i: i * 1.2)

# 单个波段处理
source = im.split()
R, G, B = 0, 1, 2
mask = source[R].point(lambda  i: i < 100 and 255)
out = source[G].point(lambda  i: i * 0.7)
source[G].paste(out, None, mask)

# enhance包中包含了调整对比度、亮度、颜色平衡和清晰度的方法

三2.总结:

1.其中重要的是查看图像的信息,图像的宽高(通过代码批量查看一系列图像的大小)
2.图像的模型,将图像的每个通道值分离出来,单独对每个通道进行处理,进行图像增强
3.结合numpy库中的array()函数将图像转化为矩阵
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-10 11:54:11  更:2022-05-10 11:57:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:38:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码