当前位置: 首页 > news >正文

python 生成字母图片

from PIL import Image, ImageDraw, ImageFont, ImageFilter
import random
import matplotlib.pyplot as plt

# 随机字母:
def rndChar():
    return chr(random.randint(65, 90))
# 随机颜色1:
def rndColor():
    return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))
# 随机颜色2:
def rndColor2():
    return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))


str = [chr(i) for i in range(65,91)]
num = len(str)
width = 64*num
height = 64
step_size = 64
image = Image.new('RGB', (width, height), (255, 255, 255))
# 创建Font对象:
font = ImageFont.truetype('C:/windows/fonts/Arial.ttf', 60)
# 创建Draw对象:
draw = ImageDraw.Draw(image)
# 填充每个像素:
# for x in range(width):
#     for y in range(height):
#         draw.point((x, y), fill=rndColor())
# 输出文字:
for t in range(num):
    draw.text((step_size * t, 0), str[t], font=font, fill=rndColor2())
# 模糊:
# image = image.filter(ImageFilter.BLUR)
image = np.array(image)
import numpy as np

state = 0
index = []
for i in range(width):
    if sum(image[:,i].flatten()-255)==0:
        if state == 1:
            index.append(i+5)
        state = 0
    else:
        state = 1
assert(len(index)==26)
image[:,index] = 0
plt.figure(figsize=(5*num,5))
plt.imshow(image)
plt.show()

在这里插入图片描述

相关文章:

  • 新爹手记之起名篇
  • 使用LumaQQ来开发QQ机器人
  • 图信号处理——拉普拉斯矩阵
  • SPS中计算值公式函数简介
  • 台式机核显和独显切换
  • SPS常见公式示例
  • ModuleNotFoundError: No module named 'torch_sparse.unique_cuda'
  • ModuleNotFoundError: No module named 'torch_scatter.cuda'
  • 反击arp病毒攻击
  • 数据降维与可视化——t-SNE
  • 单例模式完全剖析(1)---- 探究简单却又使人迷惑的单例模式
  • 使用 texttable可视化
  • 单例模式完全剖析(2)---- 探究简单却又使人迷惑的单例模式
  • pytorch 给数据增加一个维度
  • csv.writer().writerow() 产生空行
  • ----------
  • [译]CSS 居中(Center)方法大合集
  • Electron入门介绍
  • go append函数以及写入
  • happypack两次报错的问题
  • js中forEach回调同异步问题
  • Python_网络编程
  • React组件设计模式(一)
  • Redash本地开发环境搭建
  • springMvc学习笔记(2)
  • vue.js框架原理浅析
  • vue--为什么data属性必须是一个函数
  • 第2章 网络文档
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • UI设计初学者应该如何入门?
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​业务双活的数据切换思路设计(下)
  • #Z2294. 打印树的直径
  • #微信小程序:微信小程序常见的配置传值
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (k8s中)docker netty OOM问题记录
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (备忘)Java Map 遍历
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (顺序)容器的好伴侣 --- 容器适配器
  • (推荐)叮当——中文语音对话机器人
  • (五)IO流之ByteArrayInput/OutputStream
  • (循环依赖问题)学习spring的第九天
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .Net IOC框架入门之一 Unity
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复