图片转为文本图(也叫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)
相关推荐
小技与小术1 分钟前
数据结构之树与二叉树
开发语言·数据结构·python
Beau_Will1 分钟前
数据结构-树状数组专题(1)
数据结构·c++·算法
BestandW1shEs3 分钟前
彻底理解消息队列的作用及如何选择
java·kafka·rabbitmq·rocketmq
爱吃烤鸡翅的酸菜鱼6 分钟前
Java算法OJ(8)随机选择算法
java·数据结构·算法·排序算法
码蜂窝编程官方9 分钟前
【含开题报告+文档+PPT+源码】基于SpringBoot+Vue的虎鲸旅游攻略网的设计与实现
java·vue.js·spring boot·后端·spring·旅游
Viktor_Ye25 分钟前
高效集成易快报与金蝶应付单的方案
java·前端·数据库
hummhumm27 分钟前
第 25 章 - Golang 项目结构
java·开发语言·前端·后端·python·elasticsearch·golang
杜小满32 分钟前
周志华深度森林deep forest(deep-forest)最新可安装教程,仅需在pycharm中完成,超简单安装教程
python·随机森林·pycharm·集成学习
一二小选手32 分钟前
【Maven】IDEA创建Maven项目 Maven配置
java·maven
hunandede34 分钟前
av_image_get_buffer_size 和 av_image_fill_arrays
c++