zoukankan      html  css  js  c++  java
  • py库: PIL 、pillow(图像处理)

    https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014320027235877860c87af5544f25a8deeb55141d60c5000  廖雪峰

    由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。

    pip install pillow


    图片操作

    #把图片缩小到二分之一
    from PIL import Image, ImageFilter
    im = Image.open('1.jpg')
    w, h = im.size
    print('原图片尺寸: %sx%s' % (w, h))
    # 缩放到50%:
    im.thumbnail((w//2, h//2))
    # 把缩放后的图像用jpeg格式保存:
    im.save('2.jpg', 'jpeg')
    #要详细了解PIL的强大功能,请请参考Pillow官方文档: https://pillow.readthedocs.org/

    图片操作2:  在已有图片上生成1个汉字,和6位数字。颜色随机  2017-10-20

    http://pillow.readthedocs.io/en/latest/  PIL库  Pillow — Pillow (PIL Fork) 4.4.0.dev0 documentation

    # -*- coding: utf-8 -*-
    # coding=utf-8
    
    from PIL import Image, ImageFont, ImageDraw
    import random
    
    str1 = '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨'   #通过随机数,取一个汉字
    str1Length = len(str1)
    idx = random.choice(range(str1Length))
    char1 = str1[idx:idx + 1]
    
    msgNum = str((random.randint(1, 999999)))  # 生成6位随机数
    im = Image.open('2.jpg')  # 载入图片
    w, h = im.size  # 获取图片宽度和高度
    wdraw = 0.3 * w  # 坐标
    hdraw = 0.4 * h
    
    fron = ImageFont.truetype('msyhbd.ttf', 100)  # 字体微软雅黑,字体大小
    draw = ImageDraw.Draw(im)  # 创建图像
    draw.text((wdraw, hdraw), char1, font=fron,
              fill=(random.choice(range(255)), random.choice(range(255)), random.choice(range(255))))
    draw.text((wdraw, hdraw + 100), msgNum, font=fron,
              fill=(random.choice(range(255)), random.choice(range(255)), random.choice(range(255))))
    # draw.text((wdraw, hdraw), msgNum, font=fron, fill=(255, 33, 33))
    # fill:定义颜色,可以为数字格式也可以直接指定英文如:fill="red"
    im.save('2_mm.png', 'png')

    ...

  • 相关阅读:
    Java生成登录随机验证码
    Java调用百度API实现人脸识别
    阿里云CentOS开放端口
    Windows环境下利用nginx作为图片服务器
    SpringCloud使用Feign调用服务,@ModelAttribute无法传递实体类参数
    Solr7正确的调用SolrClient姿势
    LeetCode 235. Lowest Common Ancestor of a Binary Search Tree(BST求最近公共祖先)
    LeetCode 538. Convert BST to Greater Tree(把BST每个节点的值都加上比它大的节点的值)
    Trie树模板例题
    Google KickStart 2020 RoundA
  • 原文地址:https://www.cnblogs.com/qq21270/p/7704976.html
Copyright © 2011-2022 走看看