python【图片转字符画】,图片灰度值处理

python【图片转字符画】,图片灰度值处理

python【图片转字符画】,图片灰度值处理

老规矩,先上效果图

在这里插入图片描述

在这里插入图片描述
理论很简单,就是对图片操作,这里需要用到PIL的python包,里面有很好用的图像处理功能。

先打开图片,把图像调整大小。

img = Image.open(picPath)
img = img.resize((picW, picH))

然后读取灰度值,再把灰度值和字符对应起来就行。

from PIL import Image

lstChars = list("$@B%8&WM#*oahkbdpqwmZO0QLaCJUYXzczjhdhsdavunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'.") 

def oneChars(r, g, b, alpha = 256):
    global lstChars
    length = len(lstChars)
    gray = int(0.2126 * r + 0.7152 * g + 0.722 * b)
    index =length*gray
    return lstChars[index]

picPath = "C:\Users\Administrator\Desktop\\aaaaa\\aa.png"
picH = 40
picW =  80

img = Image.open(picPath)
img = img.resize((picW, picH))

txt = ""
for y in range(picH):
    for x in range(picW):
        txt += oneChars(img.getpixel((x, y)))
    txt += '\n'

print txt

小伙伴有什么问题可以和小编交流。这里需要自行下载PIL包,如果不知道怎么下载的话,也可以问我拿。
q:2316773638

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/2865.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux下搭建kafka集群,linux系统zk+Kafka集群搭建

    linux下搭建kafka集群,linux系统zk+Kafka集群搭建Kafka集群搭建与配置准备工作安装java环境搭建zookeeper集群搭建kafka集群1.准备工作1.1安装包1.2准备至少3台主机(ubuntu系统)如果没有物理机,也可以弄3台虚拟机。ubuntu系统不会安装的话可以自己百度哦,这里就不细说了。作者用的是虚拟机,下面是3台电脑的配置主机名IP地址硬件配置kafka-1192.168.1.424CPU、4G内存、128G存储kafka…

  • linux设置ip白名单

    linux设置ip白名单白名单操作查看下防火墙的状态:systemctlstatusfirewalld需要开启防火墙systemctlstartfirewalld查看已开放的端口firewall-cmd–zone=public–list-ports添加8484(随便输入四个数字代表端口号)端口到白名单执行firewall-cmd–permanent–zone=public–add-port=8484/tcp重启防火墙:添加成功之后需要重启防火墙

  • 金税盘计算机USB无法识别,金税盘无法识别怎么办

    金税盘计算机USB无法识别,金税盘无法识别怎么办摘要:这篇文章将给财务会计人员讲解金税盘无法识别怎么办相关的内容,在金税盘无法识别怎么办这篇财务资讯中我们详细讲解了有关金税盘无法识别怎么办的会计知识。金税盘无法识别怎么办部分情况可能是因为USB供电不稳定,造成金税盘驱动无法正常运行;建议电脑重启,金税盘数据线重新插拔一下或者更换一个USB端口连接试试.如果多次尝试无效,则需要联系服务单位处理.金税盘使用增值税防伪税控系统,可开具增值税专用发票和…

  • SQL嵌套查询_sql差集嵌套

    SQL嵌套查询_sql差集嵌套selecttop11from…主要是用来判断表是否有记录TRUNCATE:删除内容、释放空间但不删除定义,保留数据表的结构删除目标表中所有字段,不影响表结构派生表:派生表就是一个由查询结果生成的临时表。他是在外部查询的FROM中定义的。派生表的存在范围只是在外部查询中,只要外部查询结束了,派生表也就不存在了。派生表一定要写在FROM后面范围内,用()括起来。后面跟着派生表的名称。se…

  • 全面解析傅立叶变换(非常详细)

    全面解析傅立叶变换(非常详细)前言第一部分、DFT第一章、傅立叶变换的由来第二章、实数形式离散傅立叶变换(RealDFT)从头到尾彻底理解傅里叶变换算法、下第三章、复数第四章、复数形式离散傅立叶变换前言:“关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的文章,太过抽象,尽是一些让人看了就望而生畏的公式的罗列,让人很

    2022年10月21日
  • GG修改器怎么激活成功教程游戏保护_gg修改器游戏保护修改不了怎么办

    GG修改器怎么激活成功教程游戏保护_gg修改器游戏保护修改不了怎么办今天阿森给大家发一个GG修改器的教程,很多朋友遇到一些脚本程序不知道怎么样使用!今天就给大家发一个详细的!GG修改器使用脚本超详细图文教程讲解一,框架是什么我们使用gg修改器的话,就需要用到root,但是,并不是所有人都会去root,所以这个时候框架就出现了,框架的话相当于给了gg修改器一个root权限二,脚本是什么脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号