python中的pillow处理

来源:互联网 发布:javascript中PoSt 编辑:程序博客网 时间:2024/05/28 17:04

不知道pillow是什么,根据别人的步骤学了之后,才知道是一种图片处理的库

#coding=utf-8import Image,ImageFilter '''1'''im=Image.open('D:\ppppp\images\\test1.jpg')w,h=im.sizeprint str(w)+" "+str(h)im1=im.filter(ImageFilter.BLUR) #模糊需要生成新的对象im1.save('D:\ppppp\images\\test2.jpg')   #\\转义'''2'''im2=Image.open('D:\ppppp\images\yingtao.jpg') #(u"樱桃.jpg")-图片命名为中文时print im2.format,im2.size,im2.mode#im.thumbnail((w//2,h//2)) 缩略不需要产生新对象但会改变原对象im3=im2.resize((128,128),Image.ANTIALIAS)im3.save('D:\ppppp\images\y1.jpg') #改变大小需要生成新的对象且消除锯齿效果im4=im2.convert('L')im4.save('D:\ppppp\images\y2.jpg')'''img.split()分割通道bands=img.split()rIm=bands[0]gIm=bands[1]bIm=bands[2]aIm=bands[3]remadeImage=Image.merge("RGBA",(rIm,gIm,bIm,aIm))remadeImage.save("remadeImage.png")''''''3'''im5=Image.open('D:\ppppp\images\\arrow.png')im2.paste(im5,(10,10)) #黏贴新图片(10,10)相对左上角的位置im2.save('D:\ppppp\images\\a1.png')bounds=(0,0,493,254)cutoutIm=im2.crop(bounds)  #拷贝图片cutoutIm.save('D:\ppppp\images\cotoutim.png')fixedIm=im2.rotate(90) #旋转图片fixedIm.save('D:\ppppp\images\\fixedim.png')

打开图片的方法:

im=Image.open('D:\ppppp\images\\test1.jpg')
保存图片的方法

im1.save('D:\ppppp\images\\test2.jpg')

打开一张图片


模糊后

im1=im.filter(ImageFilter.BLUR)


打开第二张照片


重新改变图片大小后

im3=im2.resize((128,128),Image.ANTIALIAS)


转换图片的色彩---有RBGA转成L

im4=im2.convert('L')


打开第三张照片



将第三张照片贴在第二张照片上

im2.paste(im5,(10,10)) #黏贴新图片(10,10)相对左上角的位置

根据通道拷贝图片

bounds=(0,0,493,254) #从左下角到右上角cutoutIm=im2.crop(bounds)



逆时针旋转第二张图片90度

fixedIm=im2.rotate(90)


关于把一张图片编程手绘的,自己不是朝着这方面来学python的,所以没有过多深究其中的含义

我是冲着爬虫来学python的可怜哭

下面贴网上的代码

#coding=utf-8import Image,ImageFilterfrom PIL import Imageimport numpy as npa = np.asarray(Image.open('D:\ppppp\images\\timg.jpg').convert('L')).astype('float')depth = 10.  # (0-100)grad = np.gradient(a)  # 取图像灰度的梯度值grad_x, grad_y = grad  # 分别取横纵图像梯度值grad_x = grad_x * depth / 100.grad_y = grad_y * depth / 100.A = np.sqrt(grad_x ** 2 + grad_y ** 2 + 1.)uni_x = grad_x / Auni_y = grad_y / Auni_z = 1. / Avec_el = np.pi / 2.2  # 光源的俯视角度,弧度值vec_az = np.pi / 4.  # 光源的方位角度,弧度值dx = np.cos(vec_el) * np.cos(vec_az)  # 光源对x 轴的影响dy = np.cos(vec_el) * np.sin(vec_az)  # 光源对y 轴的影响dz = np.sin(vec_el)  # 光源对z 轴的影响b = 255 * (dx * uni_x + dy * uni_y + dz * uni_z)  # 光源归一化b = b.clip(0, 255)im = Image.fromarray(b.astype('uint8'))  # 重构图像im.save('D:\ppppp\images\\timg2.jpg')
原图


手绘板