python如何判断图⽚与基准图⽚旋转的⾓度_Python图像处理这样学⼩⽩也易懂,还能顺。。。
Pillow 是知名 Python 图像处理库 PIL 的⼀个知名分⽀,⽀持 Python 3,有很强⼤的图像处理能⼒,但其 API 却并不复杂,本⽂不是⼀篇详尽 Pillow 完整教程,只是提供⼀种直观浅显的学习⽅法,对⽐ PhotoShop 图像操作,学习图像基础知识与 Pillow 图像处理操作,让编程初学者对图像处理不再感到神秘!
Adobe Photoshop,也就是⼤家熟知的 "PS",是⼀个由 Adobe 开发和发⾏的世界上最知名图像处理软件。对⽐ PS 操作可以更好理解图像及图像处理知识,本⽂以 Photoshop CC 2018 版本为例,由于涉及的均是基础操作,不同版本 PS 操作差异并不⼤。
Phtotoshop 欢迎页
通常所说的图像处理,包括图像归档、显⽰、处理⼏个⽅⾯,在学习处理之前,必须掌握⼀些位图的基础知识。
位图
位图(Bitmap),是使⽤像素 Pixel 阵列来表⽰的图像,简单来讲,我们看到的图⽚是由⼀个个矩形的像素点排列构成的,由于像素点较⼩,且显⽰屏幕的显⽰分辨率精度够⾼,所以⾁眼不容易感觉到像素点的存在,但如果我们将⼀张位图放⼤显⽰,我们会发现明显呈锯齿状显⽰。
Photoshop 中放⼤图⽚ 观察像素
位图的像素都分配有特定的位置和颜⾊值。每个像素的颜⾊信息由RGB组合或者灰度值表⽰。根据位深度,可将位图分为1、4、8、16、24及32位图像等。每个像素使⽤的信息位数越多,可⽤的颜⾊就越多,颜⾊表现就越逼真,相应的数据量越⼤。例如,位深度为 1 的像素位图只有两个(2的1次⽅)可能的值(⿊⾊和⽩⾊),所以⼜称为⼆值位图。位深度为 8 的图像有 2的8次⽅(即 256)个可能的值。位深度为 8
的灰度模式图像有 256 个可能的灰⾊值。
位图的编码⽅式
即 Photoshop 中的 模式(mode),有常见的 RGB、CMYK等。
RGB:⽤红、绿、蓝三个颜⾊通道组成,即三原⾊的光学强度来表⽰⼀种颜⾊。这是最常见的位图编码⽅法,可以直接⽤于屏幕显⽰。8
位/通道的 RGB 图像中的每个通道有 256 个可能的值,这意味着该图像有 1600 万个以上可能的颜⾊值。有时将带有 8 位/通道 (bpc)
的 RGB 图像称作 24 位图像(8 位 x 3 通道 = 24 位数据/像素)。
CMYK:⽤青、品红、黄、⿊四种颜料含量来表⽰⼀种颜⾊。常⽤的位图编码⽅法之⼀,可以直接⽤于彩⾊印刷。
Photoshop 中 mode 可以观察或改变图像颜⾊模式
常⽤图像格式
.bmp : windows 位图,常被 windows 程序使⽤,⽐如“画图”程序默认保存格式;
.tiff :⼤量的⽤于传统影像印刷,可进⾏有损或⽆损压缩;
.png :⽆损压缩位图格式。起初被设计⽤于代替在互联⽹上的GIF格式⽂件;
.gif :在⽹络上被⼴泛使⽤,但有时也会因为专利权的原因⽽不使⽤该图形格式。⽀持动画图像,⽀持256⾊,对真彩图⽚进⾏有损压缩;
.jpeg / .jpg :⽹络上⼴泛⽤于存储照⽚。使⽤有损压缩,图⽚质量可根据压缩的设置⽽有所不同。
准备⼯作
Adobe Photoshop ,是为了配合解释 Python Pillow 操作过程,⾮必须;
项⽬⽬录,包含图⽚若⼲;
开发⼯具,Visual Studio Code;
Python 环境,本例配置为 Python 3.7.3 解释器,且安装 Pillow 库,命令⾏⼯具 IPython (⾮必须)。
VS Code 项⽬⽬录
显⽰图⽚
操作系统观察图像信息,以 Windows 10 为例,可以在资源管理器中查看⽂件名称或缩略图。⿏标移到图像上可以显⽰信息,如:类型、分辨率,⽂件⼤⼩等。
Windows 10 查看图像⽂件基本信息
图像⽂件上右键上下⽂菜单项“属性”对话框“详细信息”标签可以查看更详细信息。双击图像⽂件,会使⽤ Windows 默认关联的⼯具打开该图⽚。
Python Pillow 打印图像信息并显⽰图⽚
Pillow 安装后,相关组件需要从 PIL 包导⼊,核⼼ Image 类定义了“图像”对象抽象,主要操作均围绕 Image 类型实例操作
Pillow 显⽰图像基本信息
上例代码中可以看到
`Image.open()` ⽤于打开特定图像⽂件并获取实例引⽤;visual studio和vs code的区别
img.format ⽤于获取图⽚格式;
img.size 获取图⽚尺⼨属性,长宽像素,类型为 tuple;
如果想使⽤默认的图像浏览⼯具打开图像实例,则可以调⽤ `img.show()` ⽅法:
img.show() 显⽰图像
创建缩略图
在 Web ⽹站程序中往往需要给⼀张尺⼨较⼤的图像制作⼀缩略图,单张图⽚可以在 Photoshop 中打开原图,通过 “图像 (Images)”菜单下的“图像尺⼨(Image Size)”调整宽(Width)、⾼(Height)后,再导出或另存为实现:
Photoshop 设置图⽚尺⼨
Pillow Image 对象可以很⽅便的通过代码实现缩略图的制作:
.thumbnail() ⽅法⽣成缩略图
Image.thumbnail(size) 即可⽣成指定尺⼨缩略图,保存即可,配置循环⽂件读取保存可以批量缩略图⽣成。
旋转图⽚
Photoshop “图像”菜单项“图像旋转(Image Rotation)”可以设置当前图像的⽔平、垂直、90度顺时针或逆时针旋转:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论