基于python实现图片转字符画代码实例

 更新时间:2020年09月04日 11:57:16   作者:橙子皮!  
这篇文章主要介绍了基于python实现图片转字符画代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

直接上代码图片就使用我家爽妹子的吧

如果没有安装pil模块的话先cmd安装下

输入:pip install pillow

# -*- coding: utf-8 -*-
from PIL import Image

codeLib = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'. '''#生成字符画所需的字符集
count = len(codeLib)

def transform1(image_file):
  image_file = image_file.convert("L")#转换为黑白图片,参数"L"表示黑白模式
  codePic = ''
  for h in range(0,image_file.size[1]): #size属性表示图片的分辨率,'0'为横向大小,'1'为纵向
    for w in range(0,image_file.size[0]):
      gray = image_file.getpixel((w,h)) #返回指定位置的像素,如果所打开的图像是多层次的图片,那这个方法就返回一个元组
      codePic = codePic + codeLib[int(((count-1)*gray)/256)]#建立灰度与字符集的映射
    codePic = codePic+'\r\n'
  return codePic

def transform2(image_file):
  codePic = ''
  for h in range(0,image_file.size[1]):
    for w in range(0,image_file.size[0]):
      g,r,b = image_file.getpixel((w,h))
      gray = int(r* 0.299+g* 0.587+b* 0.114)
      codePic = codePic + codeLib[int(((count-1)*gray)/256)]
    codePic = codePic+'\r\n'
  return codePic
fp = open(r'C:\路径\3.jpg','rb')
image_file = Image.open(fp)
image_file=image_file.resize((int(image_file.size[0]*0.2), int(image_file.size[1]*0.1)))#调整图片大小
print (u'Info:',image_file.size[0],' ',image_file.size[1],' ',count)

tmp = open('tmp.txt','w')
tmp.write(transform1(image_file))
tmp.close()
a,b,c=1,2,3
print(a,b,c)

结果不知还能否看出来

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

相关文章

  • 使用Python实现tail的示例代码

    使用Python实现tail的示例代码

    tail是一个常用的Linux命令, 它可以打印文件的后面n行数据, 也能实时输出文件的追加数据。本文就来用Python实现tail,感兴趣的可以了解一下
    2023-03-03
  • 深入了解Python的类与模块化

    深入了解Python的类与模块化

    这篇文章主要介绍了Python中的面向对象编程范式以及模块化思想,并给出相应的实战示例及解释,对我们的学习和工作都有一定的价值,感兴趣的小伙伴可以了解一下
    2021-12-12
  • Python爬虫学习之requests的使用教程

    Python爬虫学习之requests的使用教程

    requests库是一个常用的用于 http 请求的模块,它使用 python 语言编写,可以方便的对网页进行爬取。本文将通过示例详细讲讲requests库的使用,需要的可以参考一下
    2022-08-08
  • Python结合wxauto实现智能微信聊天机器人

    Python结合wxauto实现智能微信聊天机器人

    wxauto 是我在2020年开发的一个基于 UIAutomation 的开源 Python 微信自动化库,这篇文章主要介绍了Python结合wxauto实现智能微信聊天机器人,需要的朋友可以参考下
    2024-07-07
  • python+tkinter实现一个简单的秒钟

    python+tkinter实现一个简单的秒钟

    这篇文章主要为大家详细介绍了Python如何利用tkinter实现一个简单的秒钟,文中的示例代码讲解详细,具有一定的参考价值,感兴趣的小伙伴可以自己动手尝试一下
    2024-02-02
  • python输出100以内的质数与合数实例代码

    python输出100以内的质数与合数实例代码

    本文通过实例代码给大家介绍了python输出100以内的质数与合数的方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-07-07
  • python把数组中的数字每行打印3个并保存在文档中的方法

    python把数组中的数字每行打印3个并保存在文档中的方法

    今天小编就为大家分享一篇python把数组中的数字每行打印3个并保存在文档中的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python实现360皮肤按钮控件示例

    python实现360皮肤按钮控件示例

    这篇文章主要介绍了python实现360皮肤按钮控件示例,需要的朋友可以参考下
    2014-02-02
  • 一文教会你调整Matplotlib子图的大小

    一文教会你调整Matplotlib子图的大小

    Matplotlib的可以把很多张图画到一个显示界面,这就设计到面板切分成一个一个子图,下面这篇文章主要给大家介绍了关于调整Matplotlib子图大小的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Python使用lambda抛出异常实现方法解析

    Python使用lambda抛出异常实现方法解析

    这篇文章主要介绍了Python使用lambda抛出异常实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08

最新评论