图片转为文本图(也叫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)
相关推荐
桦说编程3 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
lifallen3 小时前
Java Stream sort算子实现:SortedOps
java·开发语言
IT毕设实战小研3 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
快乐的划水a4 小时前
组合模式及优化
c++·设计模式·组合模式
wyiyiyi4 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
mit6.8244 小时前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
没有bug.的程序员4 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋4 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
星星火柴9365 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
阿华的代码王国5 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端