PIL库,Python Image Library
PIL库是一个具有强大图像处理能力的第三方库
在命令行下的安装方法:pip install pillow
from PIL import Image
image是PIL库中代表一个图像的类(对象)
from PIL import Image import numpy as np im = np.array(Image.open("D:/web/testsite0/images/2.jpg")) print(im.shape,im.dtype) (300, 597) uint8
from PIL import Image import numpy as np a = np.array(Image.open("D:/PYECourse/txshxg/fcity.jpg").convert('L')) b = 255 -a im = Image.fromarray(b.astype('uint8')) im.save("D:/PYECourse/txshxg/fcity3.jpg") from PIL import Image import numpy as np a = np.array(Image.open("D:/PYECourse/txshxg/fcity.jpg").convert('L')) c = (100/255)*a + 150 im = Image.fromarray(c.astype('uint8')) im.save("D:/PYECourse/txshxg/fcity4.jpg")
# -*- coding: utf-8 -*- """ Spyder Editor This is a temporary script file. """ from PIL import Image import numpy as np a = np.asarray(Image.open("D:/PYECourse/txshxg/beijing.jpg").convert('L')).astype('float') depth = 10. 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/A uni_y = grad_y/A uni_z = 1./A vec_el = np.pi/2.2 vec_az = np.pi/4. dx = np.cos(vec_el)*np.cos(vec_az) dy = np.cos(vec_el)*np.sin(vec_az) dz = np.sin(vec_el) 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:/PYECourse/txshxg/beijingHD.jpg")
原图: