2023年6月21日发(作者:)

python图像处理库PILImage模块——函数⼀:new()(mode,size) ⇒ image、(mode, size, color) ⇒ image含义:使⽤给定的变量mode和size⽣成新的图像。Size是给定的宽/⾼⼆元组,这是按照像素数来计算的。对于单通道图像,变量color只给定⼀个值;对于多通道图像,变量color给定⼀个元组(每个通道对应⼀个值)。⽤户也可以⽤颜⾊的名称,⽐如给变量color赋值为“red”。如果没有对变量color赋值,图像内容将会被全部赋值为0(图像即为⿊⾊)。这对向该图像复制或绘制某些内容是有⽤的。from PIL import Imageim=("RGB",(128,128))()图象是⿊⾊的⼆:open()(file) ⇒ image、(file, mode) ⇒ image含义:打开并确认给定的图像⽂件。这个是⼀个懒操作;该函数只会读⽂件头,⽽真实的图像数据直到试图处理该数据才会从⽂件读取(调⽤load()⽅法将强⾏加载图像数据)。如果变量mode被设置,那必须是“r”。三:blend()(image1,image2, alpha) ⇒ image含义:使⽤给定的两张图像及透明度变量alpha,插值出⼀张新的图像。这两张图像必须有⼀样的尺⼨和模式。合成公式为:out = image1 *(1.0 - alpha) + image2 * alpha如果变量alpha为0.0,将返回第⼀张图像的拷贝。如果变量alpha为1.0,将返回第⼆张图像的拷贝。对变量alpha的值没有限制。from PIL import Imageim1=('d:/')im2=('d:/')im=(im1,im2,0.66)()四:paste()(image1,box)含义:将image1粘贴到image上,其中box是粘贴的图像的⼤⼩,可以是⼆元组(给定是左上⾓)也可以是四元组,但是如果是四元组的话,四元组的值必须等同于image1的图像⼤⼩。如果image与image1的图像模式不同,image1在被粘贴的过程中,会⾃动转化成image的模式from PIL import Imageimg=('d:/')box=(0,0,100,100)img2=(box)print()print()img1=('L',,255)#纯⽩(img2,(0,0,100,100))()第⼀张图是,RGB模式。img2也是RGB模式,img1的模式是L,第⼆张图是img1,可以看到img1中的图像是⿊⽩L模式

(color,box)含义:如果图像是多通道图像,那么color要写成元组的形式,如果是单通道,color是单个值from PIL import Imageimg=('d:/')box=(0,0,300,300)((0,255,0),box)()可以看到图像上⼀个绿⾊的区域

(img,box,mask)含义:使⽤变量mask对应的模板图像来填充所对应的区域。可以使⽤模式为“1”、“L”或者“RGBA”的图像作为模板图像。模板图像的尺⼨必须与变量img对应的图像尺⼨、box包含的尺⼨⼤⼩⼀致。如果变量mask对应图像的值为255,则模板图像的值直接被拷贝过来;如果变量mask对应图像的值为0,则保持当前图像的原始值。变量mask对应图像的其他值,将对两张图像的值进⾏透明融合。from PIL import Imageimg=('d:/')box=(400,400,600,600)#包含⼤⼩是200*200img2=(box)r,g,b=()(img2,(0,0,200,200),r)#三者的⼤⼩都得是200*200,否则报错()(color,box,mask)from PIL import Imageimg=('d:/')box=(400,400,600,600)img2=(box)r,g,b=()((0,255,0),(0,0,200,200),r)()使⽤颜⾊来填充指定区域五:getbands()含义:返回包括每个通道名称的元组,如果图⽚为RGB模式,则返回的值为(“R”,'G‘,'B')from PIL import Imageimg=('d:/')print(ds())结果为('R', 'G', 'B')

2023年6月21日发(作者:)

python图像处理库PILImage模块——函数⼀:new()(mode,size) ⇒ image、(mode, size, color) ⇒ image含义:使⽤给定的变量mode和size⽣成新的图像。Size是给定的宽/⾼⼆元组,这是按照像素数来计算的。对于单通道图像,变量color只给定⼀个值;对于多通道图像,变量color给定⼀个元组(每个通道对应⼀个值)。⽤户也可以⽤颜⾊的名称,⽐如给变量color赋值为“red”。如果没有对变量color赋值,图像内容将会被全部赋值为0(图像即为⿊⾊)。这对向该图像复制或绘制某些内容是有⽤的。from PIL import Imageim=("RGB",(128,128))()图象是⿊⾊的⼆:open()(file) ⇒ image、(file, mode) ⇒ image含义:打开并确认给定的图像⽂件。这个是⼀个懒操作;该函数只会读⽂件头,⽽真实的图像数据直到试图处理该数据才会从⽂件读取(调⽤load()⽅法将强⾏加载图像数据)。如果变量mode被设置,那必须是“r”。三:blend()(image1,image2, alpha) ⇒ image含义:使⽤给定的两张图像及透明度变量alpha,插值出⼀张新的图像。这两张图像必须有⼀样的尺⼨和模式。合成公式为:out = image1 *(1.0 - alpha) + image2 * alpha如果变量alpha为0.0,将返回第⼀张图像的拷贝。如果变量alpha为1.0,将返回第⼆张图像的拷贝。对变量alpha的值没有限制。from PIL import Imageim1=('d:/')im2=('d:/')im=(im1,im2,0.66)()四:paste()(image1,box)含义:将image1粘贴到image上,其中box是粘贴的图像的⼤⼩,可以是⼆元组(给定是左上⾓)也可以是四元组,但是如果是四元组的话,四元组的值必须等同于image1的图像⼤⼩。如果image与image1的图像模式不同,image1在被粘贴的过程中,会⾃动转化成image的模式from PIL import Imageimg=('d:/')box=(0,0,100,100)img2=(box)print()print()img1=('L',,255)#纯⽩(img2,(0,0,100,100))()第⼀张图是,RGB模式。img2也是RGB模式,img1的模式是L,第⼆张图是img1,可以看到img1中的图像是⿊⽩L模式

(color,box)含义:如果图像是多通道图像,那么color要写成元组的形式,如果是单通道,color是单个值from PIL import Imageimg=('d:/')box=(0,0,300,300)((0,255,0),box)()可以看到图像上⼀个绿⾊的区域

(img,box,mask)含义:使⽤变量mask对应的模板图像来填充所对应的区域。可以使⽤模式为“1”、“L”或者“RGBA”的图像作为模板图像。模板图像的尺⼨必须与变量img对应的图像尺⼨、box包含的尺⼨⼤⼩⼀致。如果变量mask对应图像的值为255,则模板图像的值直接被拷贝过来;如果变量mask对应图像的值为0,则保持当前图像的原始值。变量mask对应图像的其他值,将对两张图像的值进⾏透明融合。from PIL import Imageimg=('d:/')box=(400,400,600,600)#包含⼤⼩是200*200img2=(box)r,g,b=()(img2,(0,0,200,200),r)#三者的⼤⼩都得是200*200,否则报错()(color,box,mask)from PIL import Imageimg=('d:/')box=(400,400,600,600)img2=(box)r,g,b=()((0,255,0),(0,0,200,200),r)()使⽤颜⾊来填充指定区域五:getbands()含义:返回包括每个通道名称的元组,如果图⽚为RGB模式,则返回的值为(“R”,'G‘,'B')from PIL import Imageimg=('d:/')print(ds())结果为('R', 'G', 'B')