【Python】50行实现字符画----总结

Python字符画生成详解 如何使用和Python生成一张有意思的字符画。 阅读详情

来自实验楼

知识点:

1.pillow库 参见、argparse库 参见

# coding: utf-8
# CopyRight : XD

from PIL import Image 
import argparse

#命令行输入参数处理

parser = argparse.ArgumentParser()

parser.add_argument('file')     #输入文件
parser.add_argument('-o', '--output')   #输出文件
parser.add_argument('--width', type = int, default = 120) #输出字符画宽
parser.add_argument('--height', type = int, default = 60) #输出字符画高

#获取参数
args = parser.parse_args()

IMG = args.file
WIDTH = args.width
HEIGHT = args.height
OUTPUT = args.output

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

# 将256灰度映射到70个字符上
def get_char(r,g,b,alpha = 256):
    if alpha == 0:
        return ' '
    length = len(ascii_char)
    gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)

    unit = (256.0 + 1)/length
    return ascii_char[int(gray/unit)]

if __name__ == '__main__':

    im = Image.open(IMG)
    im = im.resize((WIDTH,HEIGHT), Image.NEAREST)

    txt = ""

    for i in range(HEIGHT):
        for j in range(WIDTH):
            txt += get_char(*im.getpixel((j,i)))
        txt += '\n'

    print txt

    #字符画输出到文件
    if OUTPUT:
        with open(OUTPUT,'w') as f:
            f.write(txt)
    else:
        with open("output.txt",'w') as f:
            f.write(txt)

python来画Bad apple! 50行实现视频转字符画 50行实现视频转字符画基本思路版本一样例问题代码版本二样例![在这里插入图片描述](https://img-blog.csdnimg.cn/20201228185931184.gif)解决方案代码 基本思路 读取一段视频,读取每一帧 对每一帧的图片的尺寸进行处理,并转成灰度图 对于灰度图的每一像素将其映射到自己选择的字符集中,形成字符串 循环打印字符串 版本一 样例 问题 使用os.system(‘cls’)来清空控制台输出效率低下,会出现下图展示的这种情况,导致看起来一闪一闪的 此问题在版本二中解 阅读详情

相关推荐

前端如何安全获取文件夹路径:从webkitdirectory到File System Access API

文件夹路径访问是前端与本地文件系统交互的基础能力,其本质涉及浏览器沙箱安全模型、Web API 权限机制与响应式框架集成原理。由于同源策略和隐私保护限制,传统input元素无法直接暴露真实路径,现代方案依赖webkitdirectory(Chromium私有属性)或标准化的File System Access API(showDirectoryPicker)。前者轻量但兼容性差,后者需HTTPS环境且要求用户显式授权,支持持久化句柄与读写权限管理。在Vue等响应式框架中,还需处理FileSystemDire

weixin_34417183的博客 354

Python制作字符画(pillow,numpy的使用)

如何使用python制作字符画,这里使用的是pillow和numpy这两个python的库

jakelihua 5400

python实现图片转字符画

python实现的图片转字符画,有趣又好玩,可以自定义DIY自己喜欢的图片字符画,还能从中学到一些东西,简单快乐的学习python

python基础篇:字符画生成~甜心教主

字符画: </mark>字符画是一系列字符的组合,我们可以把字符看作是比较大块的像素,一个字符能表现一种颜色,字符的种类越多,可以表现的颜色也越多,图片也会更有层次感。

五包辣条的博客 4074

解锁Cherry Studio高阶玩法:用MCP实现自动化测试与数据爬取

本文深入探讨了如何利用MCP协议与Cherry Studio结合,实现自动化测试与数据爬取的高阶应用。通过Playwright等工具的MCP集成方案,详细解析了自动化测试流水线构建和智能爬虫系统开发的关键技术,显著提升工程效率和系统适应性。

defi6farmer的博客 275

WPF基础系列六:MVVM框架

MVVM框架 文章目录MVVM框架前言一、MVVM框架简介1. 什么是MVVM?2. MVVM的优势3.MVVM的应用场景二、MVVM使用及示例 前言 在WPF开发中,经典的编程模式是MVVM,是为WPF量身定做的模式,该模式充分利用了WPF的数据绑定机制,最大限度地降低了Xmal文件和CS文件的耦合度,也就是UI显示和逻辑代码的耦合度,如需要更换界面时,逻辑代码修改很少,甚至不用修改。 与WinForm开发相比,我们一般在后置代码中会使用控件的名字来操作控件的属性来更新UI,而在WPF中通常是通过

iceberg7012的博客 2万+

python实战项目1—字符画

在现代社会,计算机技术正在深刻地影响我们的生活和工作。尤其对于计算机爱好者、程序员和开发者而言,Python编程语言是一个极具吸引力的选择。Python是一种易学易用且功能强大的编程语言,通过实战项目的方式学习Python编程,可以让我们更深入地理解和掌握Python的核心概念和基本语法,帮助我们更快地提升编程技能。因此,在本文中,我们从第一个Python实战项目实战开始学习和使用,希望能对像我一样的初学者有所帮助。有八个不同的模块共同构成了这个项目:1.导入库2.拆分 gif 将每一帧处理成字符画。

记录开发和安全学习过程中的点点滴滴 2037

联想服务器ThinkSystemRAID阵列设置教程

关注我不迷路,全是干货! 以联想ThinkSystemSR530为例子进行示范。 开机点按【F1】 点击——【UEFI设置】 依次点击——【系统设置】——【存储】 点击——【RAID卡】 PS:本次服务器配置的是730-8i 阵列卡,按实际情况选中需要设置的阵列卡即可。 点击——【Main Menu】 点击——【Configuration Management】 点击——【Create Virtual Drive】 点击——【Select RAID Leve..

littlelotusK的博客 2万+

Python将图片转换为ASCII字符画

很明显M的笔画比N多,缩小到足够小之后就会体现出M的颜色比N更深,大家若能够找到更能够体现这种特征的字符,也可以替换。

2301_76161259的博客 518

关于Arduino中的常用函数

一、I/O函数 二、时间函数 三、数学函数 abs 返回其参数的无符号值 【abs(12)返回12,abs(-12)也返回12】 constrain 限制一个数字以阻止它超出范围。第一个参数是被限制的数字,第二个参数是范围区间的开始,第三个参数是允许的数字范围区间的结尾。 【constrain(8,1,10)返回8,constrain(11,1,10)返回10,constrain(0,1,10)返回1】 map 将一个范围内的数字映射到另一个范围。第一个参数是要映射到数字,第二个和第三个参数是from范围(

TREE的博客 7323

NoC架构深度解析:从拓扑结构到流量控制的全面指南

本文深入解析了片上网络(NoC)架构,从总线架构的瓶颈出发,阐述了NoC作为芯片内部“交通网”的核心优势。文章详细探讨了主流拓扑结构(如Mesh、Torus、Ring)的选型权衡,并系统介绍了数据包格式、路由算法、路由器流水线、流量控制机制以及网络接口(NI)设计,为理解现代多核SoC的通信基石提供了全面指南。

gg901的博客 1042

Python 50行代码实现图片转字符画

这是在实验楼上学习的一个简单的python识别图片转换成字符画的实例

阿懵 2204

【数据集处理】基于ERA5 气温/湿度数据计算湿球温度并判别湿热浪

【数据集处理】基于ERA5 气温/湿度数据计算湿球温度并判别湿热浪

WW、forever的博客 488

python图片转字符画代码_Python 50行代码实现图片转字符画

最近在寻找python练手的项目,加深语法的熟练程度知乎一个回答给出的项目很合适,以下为该项目的学习笔记。项目链接:https://www.shiyanlou.com/courses/370/labs/1191/document运行效果: 原图 字符画完整代码:pythonfrom PIL import Imageimport argparse字符画所用的字符集ascii_char = list(...

weixin_31159999的博客 315

Android BLE扫描指南:解决设备发现问题

假设你正在开发一个MAUI应用,用于扫描并连接到BLE设备。你的代码在Windows上运行得很好,但在Android上却无法发现任何设备。尽管你已经在中声明了必要的权限,并且在运行时请求这些权限,扫描还是无法工作。

m0_62153576的博客 224

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

python字符画图形_Python 50行代码实现图片转字符画

最近在寻找python练手的项目,加深语法的熟练程度知乎一个回答给出的项目很合适,以下为该项目的学习笔记。项目链接:运行效果:原图字符画完整代码:pythonfrom PIL import Imageimport argparse字符画所用的字符集ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~i!l...

weixin_39540018的博客 392

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python图像转字符画_50行Python代码实现图片转字符画

本篇博客改编自通过本篇博客,你可以将你喜欢的任意图片转换成对应的字符画最终效果teaGod.jpg原理介绍字符画是一系列字符组合成的文本,看起来就像一幅画一样,我们可以把字符看作是比较大块的像素,一个字符能表现一种颜色(暂且这么理解吧),字符的种类越多,可以表现的颜色也越多,图片也会更有层次感。问题来了,我们是要转换一张彩色的图片,这么这么多的颜色,要怎么对应到单色的字符画上去?这里就要介绍灰度值...

weixin_39562998的博客 177

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python图片转字符画代码_50行Python代码实现图片转字符画

本篇博客改编自通过本篇博客,你可以将你喜欢的任意图片转换成对应的字符画最终效果teaGod.jpg原理介绍字符画是一系列字符组合成的文本,看起来就像一幅画一样,我们可以把字符看作是比较大块的像素,一个字符能表现一种颜色(暂且这么理解吧),字符的种类越多,可以表现的颜色也越多,图片也会更有层次感。问题来了,我们是要转换一张彩色的图片,这么这么多的颜色,要怎么对应到单色的字符画上去?这里就要介绍灰度值...

weixin_39835147的博客 149

python画苹果图片_python来画Bad apple! 50行实现视频转字符画

基本思路读取一段视频,读取每一帧对每一帧的图片的尺寸进行处理,并转成灰度图对于灰度图的每一像素将其映射到自己选择的字符集中,形成字符串循环打印字符串版本一样例 问题使用os.system(‘cls’)来清空控制台输出效率低下,会出现下图展示的这种情况,导致看起来一闪一闪的此问题在版本二中解决。代码#-*- coding:utf-8 -*-import timeimport cv2import nu...

weixin_39662462的博客 433

python学习---50行代码实现图片转字符画1

转自:https://blog.youkuaiyun.com/mm1030533738/article/details/78447714 项目链接:https://www.shiyanlou.com/courses/370/labs/1191/document from PIL import Image   #从PIL模块中引入Image这个类import argparse  #引入a...

weixin_30670925的博客 124

python学习---50行代码实现图片转字符画2

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

weixin_30519071的博客 107

python字符图案代码大全_python学习---50行代码实现图片转字符画2

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

weixin_39634022的博客 507

python 图片转字符画

python 图片转字符画 项目介绍 本实验用 50 行 Python 代码完成图片转字符画小工具。通过本实验将学习到 Linux 命令行操作,Python 基础,pillow 库的使用,argparse 库的使用。 项目知识点 linux 命令操作 python 基础 pillow 库的使用 argparse 库的使用 简易教程:https://blog.ixx...

weixin_30387423的博客 422

图片转化成字符画

效果 先上效果图 实现 不到50行代码,搞定一张图片转化成字符画! 这个功能的实现,主要依赖python的PIL库,进行图像处理,依靠argparse库,处理命令行参数,进行一些参数设定。 关键是将灰度映射至字符上。通过灰度公式,将RGB色转化成灰度,然后在映射至字符上,字符的顺序可自己调整。getpixel((x,y))拿到一个点的像素,通常返回(r,g,b),若是png格式图片,...

pivilion的博客 5541
上一篇: 【python练习】《learn python the hard way》ex41 opp_test.py
下一篇: 【PythonWEB】LAMP微信公众平台开发准备流程
ssshaooo
博客等级 码龄10年 3粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值