本文将详细解释如何使用枕头图像的颜色处理。边肖觉得挺实用的,分享给大家参考。希望你看完这篇文章能有所收获。
枕头提供了颜色处理模块ImageColor,支持不同格式的颜色,如RGB颜色三元组、十六进制颜色名称(#ff0000)和英文颜色词(' red ')。同时,它还可以将CSS(层叠样式表)样式颜色转换为RGB格式。
请注意,ImageColor模块对颜色的大小不敏感,例如,“red”也可以写成“Red”。
颜色命名
ImageColor支持各种颜色模式的命名(即使用固定的格式来表示面值),比如大家熟知的RGB颜色模式,除此之外还有HSL(色相-饱和度-明度)和HSB(色相-饱和度-明度)颜色模式。以下是对HSL的简单介绍:
h:色相,范围从0到360,其中0表示“红色”,120表示“绿色”,240表示“蓝色”;
s:饱和度,代表颜色的纯度,取0~100%的值,其中0代表灰色(gry),100%代表最饱和的色光;
l:即明度亮度,取值为0~100%,其中0表示“黑”黑色,50%表示正常颜色,100%表示白色。
以下HSL颜色模式用于以以下格式表示红色:
此时HSL(0,100%,50%)的颜色为“纯红色”,相当于RGB (255,0,0)。如果您想了解更多关于HSL/HSB的信息,请点击链接。
ImageColor模块比较简单,只提供了两种常用的方法,即getrgb()和getcolor()函数。
00-1010顾名思义,这个函数用来获取颜色的RGB值,语法格式如下:
使用PIL的例子。ImageColor.getrgb(颜色)如下:
fromPILimportImage,ImageColor
#getrgb()方法
color1=ImageColor.getrgb('蓝色')
打印(彩色1)
color 2=imagecolor . getrgb(# DCDCDC)
打印(彩色2)
#使用红色HSL模式
color 3=imagecolor . getrgb(' HSL(0,100%,50%)')
打印(color3)输出结果如下:
(0, 0, 255)
(220, 220, 220)
(255, 0, 0)
您可以通过new()方法创建一个新的图像,此时也可以使用ImageColor.getrgb(),如下所示:
#用new()绘制新图像
im=Image.new('RGB ',(200,200),ImageColor.getrgb('#EEB4B4 ')
im . save(' c :/用户/管理员/桌面/xin.jpg ')显示以下图片:
图1:新图像
00-1010这个方法类似于getrgb(),也是用来获取颜色值的,但是它有一个额外的模式参数,所以这个函数可以获取指定颜色模式的颜色值。语法如下:
pil.imagecolor.getcolor(颜色,模式)参数描述如下:
颜色:字符串格式的颜色名称,可以是英语颜色词或十六进制颜色名称。如果是不支持的颜色,将报告值错误错误;
模式:指定颜色模式。如果是不支持的模式,将会报告一个键错误。
用法示例如下:
color 4=imagecolor . getcolor(' # eea9b 8 ',' L ')
打印(彩色4)
color5=ImageColor.getcolor('黄色',' RGBA ')
打印(颜色5)输出结果:
191
(255, 255, 0, 255)
getrgb()方法
importPIL。图像图像
#===========1.打开图片==========
img=Image.open('1.jpg ')
#===========2.正在处理图片=========
#将图片分成小方块
img_array=img.load()
#遍历每个像素块并处理颜色。
宽度,高度=img.size#获取宽度和高度。
forxinrange(0,宽度):
foryinrange(0,高度):
Rgb=img_array[x,y]#获取像素块的Rgb
r=rgb[0]
g=rgb[1]
b=rgb[2]
if b 130 and 120: #判断规则
img_array[x,y]=(255,0,0)
#===========3.保存图片==========
Img.save('2.jpg ')这篇关于“如何使用枕头图像的色彩处理”的文章就分享到这里了,希望。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/113338.html