• python工具——pillow


    PIL——Python Imaging Library是一个非常好用的图像处理库

    在Python3中用Pillow代替PIL

    安装

    pip install pillow

    eg:

    原图

    in.jpg

    显示图片

    from PIL import Image
    old_image = "D:\python\demo\in.jpg"
    im = Image.open(old_image)
    im.show()

    抓取屏幕

    from PIL import ImageGrab
    im = ImageGrab.grab()
    im.save('D:\python\demo\screen.jpg', 'jpeg')
    im.show()

    模糊图片

    from PIL import Image,ImageFilter
    old_image = "D:\python\demo\in.jpg"
    im = Image.open(old_image)
    im2 = im.filter(ImageFilter.BLUR)
    im2.save('D:\python\demo\filter.jpg', 'jpeg')

    运行后生成

    filter.jpg

    生成手绘图

    from PIL import Image
    import numpy as np
     
    # 原始图片路径
    old_image = "D:\python\demo\in.jpg"
    # 要生成的手绘图片路径
    new_image = "D:\python\demo\out.jpg"
    a = np.asarray(Image.open(old_image).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/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)   #光源对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(new_image)
    print('complete...')

    运行后生成图片

     out.jpg

    说明:

      使用numpy中的gradient()提取灰色图像的梯度

      对梯度值进行操作,重构每个像素值

      添加光源,重构图像

    官网

    https://pillow.readthedocs.io/en/latest/handbook/index.html

  • 相关阅读:
    Git
    Qcon2016上海站PPT
    TeamCity
    在cmd界面,怎么样退出Node.js运行环境
    python 2.x与python3.x的区别
    d3.max()与d3.min()
    d3.svg.line() 曲线构造器
    d3.js 之SVG:矢量化图形绘制
    moment.js 时间格式化库
    directive
  • 原文地址:https://www.cnblogs.com/baby123/p/15000199.html
Copyright © 2020-2023  润新知