zoukankan      html  css  js  c++  java
  • python PIL 图像处理操作

    python PIL 图像处理

    # 导入Image库

    import Image

    # 读取图片
    im = Image.open("1234.jpg")

    # 显示图片
    im.show()
    

      



    # 创建图片
    # 语法:new(mode, size, color=0)
    newim = Image.new("RGBA",(640,480),(0,255,0))
    

      



    # 保存图片
    newim.save("123.jpg","jpg")  # 保存为jpg格式


    # 图片合成
    # 语法:blend(im1, im2, alpha) # alpha表示im1和im2的比例参数
    Image.blend(im,newim,0.5)
    

      



    # 点操作
    im.point(function)  # function接受一个参数,且对图片中的每一个点执行这个函数


    # 查看图像信息
    im.format()
    im.size()
    im.mode()


    # 图片剪裁
    box = (100,100,400,400)  # 设置要裁剪的区域
    region = im.crop(box)    # region是一个新的图像对象
    

      


    # 图像合并
    im.paste(region,box)
    

      



    # 改变图像的大小
    out = im.resize((128,128))  #resize成128*128像素大小

    # 旋转图像
    im.rotate(45)

    # 图像类型转换
    im = im.convert("RGBA")

    # 获取某个像素位置的值
    im.getpixel((4,4))





    # ImageDraw模块是对Image对象进行简单的二维图像操作的模块
    import ImageDraw
    

      


    # 在显示的图片中,输出文字
    draw = ImageDraw.Draw(im)
    draw.text((10,10),"hello,python",file=(255,0,0),font=None)


    # 在图像中画线
    draw.line((0,0) + im.size,fill=128)
    

      




    # eg_v1 生成字母验证码图片

    import Image
    import ImageDraw
    import ImageFont
    import ImageFilter
    import random
    
    # 生成随机字母
    def Chr():
        return chr(random.randint(65,90))
    
    # 随机颜色1
    def Color():
        return (random.randint(64,255),random.randint(64,255))
    
    # 随机颜色2
    def Color2():
        return (random.randint(32,127),random.randint(32,127))
    
    # 创建图片
    width = 60 * 4
    height = 60
    image = Image.new("RGBA",(width,height),(255,255,255))
    
    # 创建Font对象
    font = ImageFont.truetype("Arial.ttf",36)
    
    # 创建Draw对象
    draw = ImageDraw.Draw(image)
    
    # 填充像素
    for x in range(width):
        for y in range(height):
            draw.point((x,y),fill = Color())
    
    # 输入文字
    for i in range(4):
        draw.text((60 * i + 10,10),Color(),font=font,fill=Color2())
    
    image = image.filter((ImageFilter.BLUR))
    image.save("123.jpg","jpeg")
    

      

  • 相关阅读:
    在ubuntu 12.04 中配置java环境(安装jdk, tomcat, maven, eclipse)
    java 对EXCEL表格的处理
    JAVA下载文件中文乱码问题
    Java 判断文件夹、文件是否存在、否则创建文件夹
    jspSmartUpload上传下载全攻略
    intellJ实用技巧
    main 方法,
    老师,有没有类似微信布局的好的开源库?
    Android 日常开发总结的技术经验 60 条
    新的android studio创建的fragment工程跟老师讲的结构有区别
  • 原文地址:https://www.cnblogs.com/xieshengsen/p/6854987.html
Copyright © 2011-2022 走看看