图片转为文本图(也叫ASCII艺术图)

效果:

原图:

效果图

c++ 复制代码
                                          @+ +                + + +     +          +@@@+                                          
                                         ++                    ++       +           +@@@@+                                        
                                         ++                  ++    ++ +++             ++@@@+                                      
                                        ++ +                +  ++  +++++   +             ++@@+                                    
                                       ++++               ++        +             +        + ++                                   
                                      +++ +                               +   +      +    ++  +@                                  
                                    +++++++                                +            +++    +@                                 
                                   ++  ++++                                          ++++    +  +@+                               
                                  ++   + ++                                       +++ + +    +   +@+                              
                                  @    + ++                                    ++++   + +    ++   +@@+                            
                                 ++    + ++                               ++           + +    +  ++@@++@@++                       
                               +++     ++  +++                  ++++++++                     + +++++    +@@@++                    
                             ++++   + +++++  ++                                             +++@++    ++++++++                    
                            ++ +      ++++   ++@                   +++++++++++               ++++++  +++++  +                     
                            ++         ++ ++++@+          ++++@@@@@@@@+++@@++++++           ++  +    ++    +                      
                            ++         +@+++ ++      ++@@@@@@@+++  ++         ++@+        ++     +++                              
                            +@++++++    @+ +++     +@@@++++                   ++@       ++      ++    +                           
                          +@@+++++++++   @+++    +@@++                       +@@+               +  ++++  +                        
                         +@+         ++   @@    +@@++                       +@+                ++ ++ ++  +             +          
                         @@ +         ++  @@    @++                      ++@@+                 +  ++ +                            
                         @@+@          + ++-    +@+                   ++@@+                +  ++  @ +                             
                          @@++        +-   @@    ++@@++++++++ ++++++@@@++                + +  @  +@++ +                           
                           +@@++     @=@  +@@       +++@@@@@@@+@++++                    ++ + ++  +@+ ++                           
                             +@@@@+ @@+   ++-+                                          ++++ ++     ++                            
                                 ++       + @@                                          ++++++     ++                             
                                  +        ++-                                          ++++++   ++                               
                                  ++       ++-+                           +     +      +++++++@@++                       +        
                                    +        @@                                        ++++ +@+                                  +
                                              @+                                         ++ +                                     
                                      +      +@+++++                     +            ++++                                        
                                          ++@@@+++++  +                           +++@@+     +                             +      
                                         +++@@+++++++ +                         +++@@+      ++                                    
                                         ++  +++++++                            ++@+        + + +                 +      +        
                                           ++   @@     ++                                  ++ + ++                                
                                            +++ +-++    @                             +++++@@+@++++ ++++                +     +   
                                              ++ @+     ++                    ++++++++++++++++++++++++++++++++                   +
                                               ++++++++                  ++++++++++++++++         + +++++++++++++++               
                                                       + +       + ++++++++++++++++        ++++++++++ +++++++++++++++             
                                                       + +++++ +++++++++++++++++       ++ +                    ++++@@@++         +
                                                  ++++@@@++++@@++++++++ ++++        ++                            ++@@@@@+        
                                              +++++@@@@++@@@@++@++++  ++++                               +            ++@@@+      
                                           ++@@+@@@@++@@@@++@@+++    +++                                   +  +          +@@+     
                                        +@@@@@@@@++@@@@+++@@+      +++                                               ++     @@+   
                                     +@@+++@++ +@@@@@++@@++      +++        +                                          +     +@+  
                                  +++++ ++++++@@@@+++@@+       +++          ++++                                              +@+ 
                                +++   +++++@@@@+++@@+         +              +++++                                    + +     @+@+
                                   ++++++@@@++++@++       ++                    +@@+                                    ++ +  @++@
                           ++     +++++@@++  +@++       ++                        +@@++                                   +++ @@++
                 ++++++++++ @+ ++++++++++  +++        ++             ++ +            +@@++ ++                             + + +@  
                @+++ +++    @+++ ++@+++  ++++       ++               ++++              ++@+                               +   +@  

流程

1: 我们使用工具把图片, 转为线稿图, 尽量去噪, 比如这个网站 http://www.atoolbox.net/Tool.php?Id=1099#google_vignette

2: 使用python代码, 将线稿图转化为文本图

我们使用如下工具, 如果某些ascii_chars不是想要的格式, 直接改就行

python 复制代码
# coding=utf-8
from PIL import Image

# 打开图片文件
image = Image.open(r'H:\lyl_s.png')

# 调整图片大小
width, height = image.size
aspect_ratio = height / width
new_width = 400
new_height = 200
image = image.resize((new_width, new_height))

# 将每个像素转换为灰度值,并映射到ASCII字符上
ascii_chars = '@%#*+=-:. '

text_image = ''
for y in range(new_height):
    for x in range(new_width):
        pixel = image.getpixel((x, y))
        brightness = sum(pixel) / 3  # 灰度值
        char_index = int((brightness / 256  - 1)* len(ascii_chars))  # 映射到ASCII字符,确保不超出范围
        text_image += ascii_chars[char_index]
    text_image += '\n'  # 换行

# 保存文本图片
with open('text_image.txt', 'w') as f:
    f.write(text_image)
相关推荐
小江的记录本几秒前
【分布式】分布式核心组件——分布式锁:Redis/ZooKeeper/etcd 实现方案(附全方位对比表)、优缺点、Redlock、时钟回拨问题
java·网络·redis·分布式·后端·zookeeper·架构
qq_33003799几秒前
mysql如何排查Out of memory错误_mysql内存分配调优
jvm·数据库·python
好家伙VCC1 分钟前
**发散创新:用Rust实现基于RAFT共识算法的轻量级分布式日志系统**在分布式系统中,**一致性协议**是保障数据可靠
java·分布式·python·rust·共识算法
大江东去浪淘尽千古风流人物1 小时前
【cuVSLAM】GPU 加速、多相机、实时视觉/视觉惯性 SLAM设计优势
c++·人工智能·数码相机·ubuntu·计算机视觉·augmented reality
weixin_458580121 小时前
如何在 Go 中直接将 AST 编译为可执行二进制文件?
jvm·数据库·python
晔子yy1 小时前
【JAVA探索之路】从头开始讲透、实现单例模式
java·开发语言·单例模式
2301_816660216 小时前
PHP怎么处理Eloquent Attribute Inference属性推断_Laravel从数据自动推导类型【操作】
jvm·数据库·python
第一程序员6 小时前
数据工程 pipelines 实践
python·github
chools6 小时前
【AI超级智能体】快速搞懂工具调用Tool Calling 和 MCP协议
java·人工智能·学习·ai
知行合一。。。7 小时前
Python--05--面向对象(属性,方法)
android·开发语言·python