• 图像的手绘效果(Python)


    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")
    
    
    
    
        

    原图:

  • 相关阅读:
    Go开发环境搭建
    es入门小结
    Python操作ES
    mongodb
    RBAC-基于角色的访问控制 django缓存、信号、xadmin使用
    drf序列化群增、群改、群删
    drf过滤、分页、全局异常处理
    VS配置IISExpress外部IP访问
    Oracle中tnsping命令解析
    oracle导入Excel数据文件(大量数据)处理方法
  • 原文地址:https://www.cnblogs.com/kmxojer/p/11258230.html
Copyright © 2020-2023  润新知