python 做图像处理

图像转换成九种不同的格式,分别1,L,P,RGB,RGBA,CMYK,YCbCr,I,F
1.模式“1”
模式“1”为二值图像,非黑即白。但是它每个像素用8个bit表示,0表示黑,255表示白。

2.模式“L”
模式”L”为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。在PIL中,从模式“RGB”转换为“L”模式是按照下面的公式转换的:

L = R * 299/1000 + G * 587/1000+ B * 114/1000

3.模式“p”
模式“P”为8位彩色图像,它的每个像素用8个bit表示,其对应的彩色值是按照调色板查询出来的。

4.模式“RGBA”
模式“RGBA”为32位彩色图像,它的每个像素用32个bit表示,其中24bit表示红色、绿色和蓝色三个通道,另外8bit表示alpha通道,即透明通道。

5.模式“CMYK”
模式“CMYK”为32位彩色图像,它的每个像素用32个bit表示。模式“CMYK”就是印刷四分色模式,它是彩色印刷时采用的一种套色模式,利用色料的三原色混色原理,加上黑色油墨,共计四种颜色混合叠加,形成所谓“全彩印刷”。

四种标准颜色是:C:Cyan = 青色,又称为‘天蓝色’或是‘湛蓝’M:Magenta = 品红色,又称为‘洋红色’;Y:Yellow = 黄色;K:Key Plate(blacK) = 定位套版色(黑色)。

6.模式“YCbCr”
模式“YCbCr”为24位彩色图像,它的每个像素用24个bit表示。YCbCr其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量。人的肉眼对视频的Y分量更敏感,因此在通过对色度分量进行子采样来减少色度分量后,肉眼将察觉不到的图像质量的变化。

模式“RGB”转换为“YCbCr”的公式如下:

Y= 0.257R+0.504G+0.098B+16
Cb = -0.148
R-0.291G+0.439B+128
Cr = 0.439R-0.368G-0.071*B+128

7.模式“I”
模式“I”为32位整型灰色图像,它的每个像素用32个bit表示,0表示黑,255表示白,(0,255)之间的数字表示不同的灰度。在PIL中,从模式“RGB”转换为“I”模式是按照下面的公式转换的:

I = R * 299/1000 + G * 587/1000 + B * 114/1000

8.模式“F”
模式“F”为32位浮点灰色图像,它的每个像素用32个bit表示,0表示黑,255表示白,(0,255)之间的数字表示不同的灰度。在PIL中,从模式“RGB”转换为“F”模式是按照下面的公式转换的:

F = R * 299/1000+ G * 587/1000 + B * 114/1000
————————————————
原文链接:https://blog.csdn.net/qq_37482202/article/details/84193309
在这里插入图片描述
RGB色彩模式是工业界的一种颜色标准,是通过对红®、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
1.打开
img=Image.open(‘图片名’)
图片必须和此py程序在同一个项目目录中否则需要写绝对路径
2.保存
img.save(“名字.后缀”)
img.save(“01.jpg”)
3.展示
img.show()
4.转换格式
img = img.convert(‘L’) #转化为灰色图像
在这里插入图片描述
img=img.convert(‘1’) #二值化图像 黑白
在这里插入图片描述
5.裁剪
box=(100,100,400,400) #左上角坐标,右下角坐标
img = img.crop(box)
在这里插入图片描述
6.旋转
img = img.rotate(45) #旋转角度

在这里插入图片描述
7.返回大小
图像的尺寸,按照像素数计算,它的返回值为宽度和高度的二元组
a = img.size
8.
img.point(table,‘1’)

图像二值化

PIL可以对图像的颜色进行转换,并支持诸如24位彩色、8位灰度图和二值图等模式,简单的转换可以通过Image.convert(mode)函数完 成,其中mode表示输出的颜色模式,例如’‘L’‘表示灰度,’‘1’‘表示二值图模式等。但是利用convert函数将灰度图转换为二值图时,是采用 固定的阈 值127来实现的,即灰度高于127的像素值为1,而灰度低于127的像素值为0。为了能够通过自定义的阈值实现灰度图到二值图的转换,就要用到 Image.point函数
Image.point函数有多种形式,这里只讨论Image.point(table, mode),利用该函数可以通过查表的方式实现像素颜色的模式转换,其中table为颜色转换过程中的映射表,每个颜色通道应当有256个元素,而 mode表示所输出的颜色模式,同样的,’‘L’‘表示灰度,’‘1’'表示二值图模式。可见,转换过程的关键在于设计映射表,如果只是需要一个简单的箝 位值,可以将table中高于或低于箝位值的元素分别设为1与0。当然,由于这里的table并没有什么特殊要求,所以可以通过对元素的特殊设定实现 (0, 255)范围内,任意需要的一对一映射关系。
摘自 https://blog.csdn.net/vange/article/details/5395771

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值