前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python文字转图片(二值、RGB)以及numpy数组

python文字转图片(二值、RGB)以及numpy数组

作者头像
blmoistawinde
发布2020-05-09 17:02:23
4.9K0
发布2020-05-09 17:02:23
举报

文字一般使用unicode等编码的形式在计算机中表示,但是其形态本身也很有价值。如果能够把文字转为图片,就可以做一些应用,比如:

  • 基于最近邻查找来实现简单的OCR文字识别
  • 从像素中提取特征用于机器学习,如Glyce
  • 其他的各种脑洞,比如计算字符所占像素数/长/宽之类的

其实现的思路不是那么直截了当,但是想通了就不困难了,就是在画布上画一个字。说到画图,肯定要想到python中的PIL/Pillow库了。代码实现如下:

代码语言:javascript
复制
from PIL import Image, ImageDraw, ImageFont
import numpy as np
import matplotlib.pyplot as plt

if __name__ == "__main__":
    # 预设合适的字体,对于中文尤其重要,否则会乱码,这里使用常见的黑体
    fontsize = 16
    font = ImageFont.truetype("simhei", fontsize, encoding='utf-8')
    # 灰度图
    image = Image.new('1', (fontsize,fontsize), 'white')
    draw = ImageDraw.Draw(image)
    draw.text((0,0), '你', font=font)
    # 或image.show() 使用系统自带图片查看器显示
    plt.imshow(image)  # 使用matplotlib显示
    plt.show()
    print(np.array(image, dtype=int))  # 转数组
    # RGB图
    image = Image.new('RGB', (fontsize,fontsize))
    draw = ImageDraw.Draw(image)
    draw.text((0,0), '你', font=font)
    plt.imshow(image)
    plt.show()
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文字识别
文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档