基于python实现图片转字符画代码实例
作者:橙子皮! 发布时间:2023-05-17 01:53:37
标签: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)
结果不知还能否看出来
来源:https://www.cnblogs.com/cheng10/p/9708460.html


猜你喜欢
- 这一篇MobaXterm详细使用教程,我们来介绍一下如何设置并用MobaXterm来连接Linux服务器。MobaXterm 又名 Moba
- 如何在全局挂载对象和方法1.官方的说明Vue3.x已经不支持直接Vue.prototype.$http = () => {}这种方式来
- 装饰器(Decorators)是 Python 的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更
- 如何修改程序默认时区由于系统安装时时区可能选择不对,并不是中国的东八区,导致依赖于日期时间函数无法正常使用找到一个比较简单的方法程序启动时加
- 1.API接口:hello world 案例from flask import Flaskfrom flask_restful import
- sys模块:全称system,指的是解释器。常用操作,用于接收系统操作系统调用解释器传入的参数1、 sys.argv获取脚本传递的所有参数,
- 前言tkinter:GUI桌面应用开发模块,写软件界面你还可以打包成exe软件, 哪怕你没有python环境, 一样可以用虽然不一定要有界面
- 一. 效果演示1.1、好友右键菜单:1.2、分组右键菜单:1.3、群组右键菜单:二. 实现教程接下来我们以好友右键菜单为例,实现步骤如下:2
- 遇到的问题当时自己在使用Alexnet训练图像分类问题时,会出现损失在一个epoch中增加,换做下一个epoch时loss会骤然降低,一开始
- 第一种:i=0sum=0a=0while i<102: if i>=1 and i%4==1: sum+=i eli
- 建立资料表:Step1首先开启phpmyadmin,进入wordpress资料库中,并新增一个wp_gbook的资料表与栏位数目8。Step
- 1、查看数据库中有哪些用户? select username from all_users;
- 本文实例讲述了Python面向对象程序设计类变量与成员变量、类方法与成员方法用法。分享给大家供大家参考,具体如下:类变量与成员变量在类中声明
- 如下所示:from kafka import KafkaClientfrom kafka.producer import SimplePro
- Python使用for实现无限循环# 方法1.1:借助循环遍历列表的cycle方法from itertools import cyclefo
- 在 C/C++ 中,传值和传引用是函数参数传递的两种方式,在Python中参数是如何传递的?回答这个问题前,不如先来看两段代码。代码段1:d
- 使用web.py做http server开发时,遇到postman能够正常请求到数据,但是浏览器无法请求到数据,查原因之后发现是跨域请求的问
- 本文实例讲述了Python科学计算包numpy用法。分享给大家供大家参考,具体如下:1 数据结构numpy使用一种称为ndarray的类似M
- Python range() 函数用法python range() 函数可创建一个整数列表,一般用在 for 循环中。函数语法range(s
- 一. torch.stack()函数解析1. 函数说明:1.1 官网:torch.stack(),函数定义及参数说明如下图所示:1.2 函数