简介

一个简单的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 Opencv将图片转为字符画

Python实现图片转字符画的示例

Python实现图片转字符画的示例代码

从零学python系列之教你如何根据图片生成字符画

时间: 2018-03-30

python将图片转换为字符_python如何将图片转换为字符图片相关推荐

  1. python 验证码图片 模拟登录_Python 模拟生成动态产生验证码图片的方法

    模拟动态产生验证码图片 模拟生成验证码,首先要做的是生成随机的字母,然后对字母进行模糊处理.这里介绍一下 Python 提供的 Pillow 模块. Pillow PIL:Python Image L ...

  2. python中一个汉字是几个字符_Python中每次处理一个字符的5种方法

    目的 对字符串的每个字符进行处理,其实每个字符(Char)就是一个长度为1的字符串. 方法 1.使用内建函数list() 复制代码 代码如下: >>> A_string='Pytho ...

  3. python数字转中文字符_Python实现中文数字转换为阿拉伯数字的方法示例

    本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法.分享给大家供大家参考,具体如下: 一.需求 今天写了三千二百行代码. 今天写了3200行代码. 两行意思相同,只是表达方式不太能够,统一掉 ...

  4. python获取文件字节数_python关于文件操作中的字符个数和字节数

    记得刚开始学习python文件操作写文件的时候有个问题,很奇怪.最后知道了就是字节数的原因. 我们先来看个例子. 新建个文件存为utf-8命名为0117utf-8.txt记得去掉BOM头. 我们用r+ ...

  5. python 读取excel太慢_Python 读取excel并转换为字典

    方法一:利用利用xlrd读取excel文件 其实整个过程比较简单,利用xlrd读取excel文件,再把读取到的数据转换为dict即可. 1.安装 xlrd pip install xlrd 2.读取文 ...

  6. python读取图像并相加_python使用PIL和matplotlib获取图片像素点并合并解析

    python 版本 3.x 首先安装 PIL 由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又 ...

  7. python语言编写一个生成九宫格图片的代码_python简单实现9宫格图片实例

    在日常生活中我们经常在朋友圈看到有人发九宫格图片,其实质就是将一张图片切成九份,然后在微信中一起发这九张图. 那么我们如何自己动手实现呢? 说到切图Python 就可以实现,主要用到的 Python ...

  8. python删除指定字符_python删除字符串中指定字符的方法

    最近开始学机器学习,学习分析垃圾邮件,其中有一部分是要求去除一段字符中的标点符号,查了一下,网上的大多很复杂例如这样 import re temp = "司法局让我和户 1 5. 8 0. ...

  9. python玩王者荣耀皮肤_python 王者荣耀皮肤高清图片下载 附源码

    本帖最后由 你isbest 于 2018-3-20 16:33 编辑 最近在学python ,用python做了一个王者荣耀的皮肤高清图片的下载工具,发给大家这个是从官网下载一个json文件,所以是实 ...

  10. python怎么在图片上写字_python如何实现内容写在图片上

    本文实例为大家分享了python将内容写在图片上的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- # Created on 2018/3/20 import bas ...

最新文章

  1. 太强了!我怀疑这是京东V1版源码....
  2. 3. Swift 数组|字典|集合
  3. 关于Rocchio算法和向量空间模型反馈
  4. keepalived 安装和配置
  5. 深度解读DynamIQ架构cache的替换策略
  6. php - Api 接口写法规范和要求
  7. Go gin获取post请求数据
  8. python中的__new__概念(工厂
  9. 编码的奥秘txt_各学科最佳入门丛书推荐
  10. nginx反向代理模块配置详解_Nginx服务器的反向代理proxy_pass配置方法讲解
  11. 女生学计算机和遥感哪个好就业,遥感专业女生就业方向 遥感专业毕业生可以从事哪些工作...
  12. 干货 | 携程动态表单DynamicForm的设计与实现
  13. 仿站王者:Teleport Ultra
  14. 网易云音乐html代码报告,网易云音乐H5案例欣赏:你的2017年度听歌报告
  15. cmd 一键清除系统垃圾
  16. plsql 快捷键 设置 字母大小写
  17. 深度详解新iPad八核GPU
  18. 2023 软件库APP下载系统源码 附卡密会员插件
  19. 基于仿360小说网站(校园网)的源码设计实现(升级版)
  20. 微信小程序使用wx.downloadFile和wx.saveFile在真机调试和体验版没问题,线上却下载失败

热门文章

  1. boost基础——variant的原理及基本用法
  2. 零基础学python pdf-笔记《零基础入门学习Python(第2版)》PDF+课件+代码分析
  3. python新手入门代码-Python的初学者你现在可以自己quot;看”到代码的运行了!
  4. php和python-php与python谁更适合web开发?为什么?
  5. python教程视频-Python基础视频教程(600集)【传智播客精品教程】
  6. 21天学通python-21天学通Python(第2版)
  7. 云原生游戏《云联物语》揭开神秘面纱 云鹭科技温向东带你深度了解云原生游戏领域...
  8. java计算器用什么布局_求JAVA语言写的计算器的代码。用GridLayout布局。
  9. Git创建分支并上传~满满的干货哦
  10. 【计算机网络笔记】交换方式:电路/分组/报文交换