python如何将图片转换为字符图片


Posted in Python onAugust 19, 2020

简介

一个简单的python程序,将图片转换为字符图片。
(为了简便,很多参数写死了,自己看着改吧。 (←∀←))

正文

原图(侵删)

python如何将图片转换为字符图片

结果图

python如何将图片转换为字符图片

源码

[更多细节]——>戳这里

#-*- coding: UTF-8 -*- 
from PIL import Image 
from PIL import ImageDraw 
from PIL import ImageFont
import matplotlib.pyplot as plt
import numpy as np
import time

def happyNewYear(srd_img_file_path, dst_img_file_path = None, scale = 2, sample_step = 3):
 start_time = int(time.time())

 #读取图片信息
 old_img = Image.open(srd_img_file_path)
 pix = old_img.load()
 width = old_img.size[0]
 height = old_img.size[1]
 print ("width:%d, height:%d" % (width, height))

 #创建新图片
 canvas = np.ndarray((height*scale, width*scale, 3), np.uint8)
 canvas[:, :, :] = 255
 new_image = Image.fromarray(canvas)
 draw = ImageDraw.Draw(new_image)

 #创建绘制对象
 font = ImageFont.truetype("consola.ttf", 10, encoding="unic")
 char_table = list('happy new year ')
 # font = ImageFont.truetype('simsun.ttc', 10)
 # char_table = list(u'新年快乐')

 #开始绘制
 pix_count = 0
 table_len = len(char_table)
 for y in range(height):
 for x in range(width):
  if x % sample_step == 0 and y % sample_step == 0:
  draw.text((x*scale, y*scale), char_table[pix_count % table_len], pix[x, y], font)
  pix_count += 1

 # 保存
 if dst_img_file_path is not None:
 new_image.save(dst_img_file_path)

 print("used time : %d second, pix_count : %d" % ((int(time.time()) - start_time), pix_count))
 print(pix_count)
 new_image.show()


happyNewYear("input.jpg", "output.jpg")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python根据出生日期获得年龄的方法
Mar 31 Python
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
Jul 12 Python
python线程池(threadpool)模块使用笔记详解
Nov 17 Python
python批量实现Word文件转换为PDF文件
Mar 15 Python
Python 实现异步调用函数的示例讲解
Oct 14 Python
pygame实现贪吃蛇游戏(上)
Oct 29 Python
python爬虫库scrapy简单使用实例详解
Feb 10 Python
Python作用域与名字空间原理详解
Mar 21 Python
python 实现两个npy档案合并
Jul 01 Python
PyChon中关于Jekins的详细安装(推荐)
Dec 28 Python
Django项目如何获得SSL证书与配置HTTPS
Apr 30 Python
tensorflow中的梯度求解及梯度裁剪操作
May 26 Python
Pyinstaller将py打包成exe的实例
Mar 31 #Python
Python pymongo模块用法示例
Mar 31 #Python
Python向MySQL批量插数据的实例讲解
Mar 31 #Python
Python将图片转换为字符画的方法
Jun 16 #Python
Python实现从log日志中提取ip的方法【正则提取】
Mar 31 #Python
Python+OpenCV实现车牌字符分割和识别
Mar 31 #Python
python Opencv将图片转为字符画
Feb 19 #Python
You might like
基于HTTP长连接的"服务器推"技术的php 简易聊天室
2009/10/31 PHP
PHP反向代理类代码
2014/08/15 PHP
Smarty中调用FCKeditor的方法
2014/10/27 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
2015/08/18 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
深入学习js瀑布流布局
2016/10/14 Javascript
微信小程序实战之登录页面制作(5)
2020/03/30 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
2018/08/30 Javascript
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
[02:10]2018DOTA2亚洲邀请赛赛前采访-Liquid
2018/04/03 DOTA
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
python类参数self使用示例
2014/02/17 Python
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
Python中的进程分支fork和exec详解
2015/04/11 Python
Anaconda下安装mysql-python的包实例
2018/06/11 Python
python2爬取百度贴吧指定关键字和图片代码实例
2019/08/14 Python
python安装scipy的步骤解析
2019/09/28 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
python的slice notation的特殊用法详解
2019/12/27 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
python中封包建立过程实例
2021/02/18 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
HTML5如何实现元素拖拽
2016/03/11 HTML / CSS
LN-CC日本:高端男装和女装的奢侈时尚目的地
2019/09/01 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
安全生产目标管理责任书
2014/07/25 职场文书