图片转为文本图(也叫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)
相关推荐
无忧.芙桃4 分钟前
图的精髓:邻接矩阵与遍历全解析
c++·算法·面试·深度优先·广度优先
jimy15 分钟前
标准的动态类型定义与“多态”无关,非多态对象同样会出现动态类型不同于静态类型的情形
开发语言·c++
冬、不眠的夜5 分钟前
Nuitka 将 python 程序编译成 exe 指南
开发语言·python
MOONICK10 分钟前
COM 组件技术(三)
c++·windows
_wxd66618 分钟前
二叉搜索树(BST)万字详解:概念、操作、性能分析与 C++ 实现
数据结构·c++·二叉搜索树
范中勤21 分钟前
Python Asyncio 协程与 LLM 异步并发原理技术文档(与 Java 对比|彻底澄清所有误区)
python·llm·协程·并发编程·asyncio
薛之谦_21 分钟前
JAVA 多线程编程:从基础原理到实战应用
java·开发语言
Dmz丶21 分钟前
前端转 AI 100 天 Day 21:FastAPI 入门——从命令行到 HTTP 服务
python
LMT_Lanmantech22 分钟前
Creo许可降本增效:不增购,也能让现有许可发挥更大价值
java·大数据·开发语言
QQ142207844922 分钟前
基于 Flask 的「自动任务控制台」设计与踩坑实录
后端·python·flask