Python3 简单的图像处理方法

版权声明:本博客内容为原创,若要转载,请注明出处!否则禁止转载! https://blog.csdn.net/wardenjohn/article/details/83543348

最近需要学习python的图像处理方法,在这里简单的总结一下自己学到的一些图像处理的方法把~

1.Python PIL库读取图像

import PIL
from PIL import Image

im = Image.open(filepath)

2.简单进行图像旋转

out = im.rotate(270) #这里输入的是旋转角度
out = im.transpose(Image.ROTATE_270)

3.在PIL中还可以吧RGB图像的R,G,B分离出来使用的呢;例如:

r,g,b = im.spilt()
im = Image.merge("RGB",(r,b,g))
#这样R,G,B就调换成了R,B,G来使用了,也就是说B的值当R来使用这个意思
4、图像增强,可以增强一下对比度
from PIL import ImageEnhance as ie
enh = ie.Contrast(image)
enh.enhance(1.3).show("30% enhance")

5、利用Image模块还可以创建thumnail

import glob
for infile in glob.glob("*.jpg"):
    file, ext = os.splitext(infile)
    im = Image.open(infile)
    im.thumbnail((128, 128), Image.ANTIALIAS)
    im.save(file + ".thumbnail", "JPEG")

下面来介绍一下Image模块下的一些函数:

1=》Image.new(mode,size)/Image.new(mode,size,color)

这个是新创建一张图片

2=》Image.open(infile)/Image.open(infile,mode)

这个是打开一张图片,打开的这张图片呢,在你对这张图片进行操作之前是不会读取进来的,在你进行操作的时候就读进来

如果指定了mode的话,那一定是“r“

3=》Image.blend(image1,image2,alpha)

out = image * (1-alpha) + image2 * alpha

看看out你就知道了什么意思了,当alpha是0时,输出的就是image1,当alpha是1时,输出的就是image2

但是两个图像的大小需要一致的

4=》Image.composite(image1,image2,mask)

利用mask当做是alpha,创建一张在image1,image2之间的新图像

5=》Image.eval(function,image)

6=>Image.fromstring(mode,size,data)/Image.fromstring(mode,size,data,decoder,parameters)

对于第一个,就是从一个string中的像素数据中创建图像,使用的解码器是”raw“;第二个就是自选decoder了

7=>Image.merge(mode,bands)

猜你喜欢

转载自blog.csdn.net/wardenjohn/article/details/83543348