工作原理:

先将图片每个像素的hsv(色相,饱和度,明度)值转化为可读取对象,使用到PIL的Image方法:

from PIL import Imageimg = Image.open('test.png')
hsv = img.convert('HSV').load()

再将图像按v用取平均值的方法进行压缩,最后根据压缩后图像的每个像素点的v值转换成字符进行输出

运行效果:

原图:

转化后:

完整代码:

scale表示图片的压缩倍率,压缩后图像的宽度和高度都为原图的除以scale

fit_table表示转化后的图片由哪些字符构成,按明度从低到高排列,长度应在1-255之间,长度越长图像对比度越高,画质越好

from PIL import Image
from math import ceil# 图片压缩倍率
scale = 1# 获取图像hsv
img = Image.open('test.png')
hsv = img.convert('HSV').load()
new_img = [[0 for i in range(ceil(img.width / scale))] for x in range(ceil(img.height / scale))]# 图像压缩
for x in range(0, img.width, scale):for y in range(0, img.height, scale):_v = 0num = 0for x1 in range(scale):for y1 in range(scale):if x + x1 < img.width and y + y1 < img.height:_v += hsv[x + x1, y + y1][2]num += 1new_img[y // scale][x // scale] = _v // num# 转化字符(明度从低到高排列)
fit_table = ['魍', '恼', '且', '不', '一']
text = ''# 转文本
for y in new_img:for x in y:text += fit_table[x // (255 // len(fit_table) + 1)]text += '\n'
print(text)

Python实现图片转化为字符图(附完整代码)相关推荐

  1. python将图片转化为字符图

    最近看到将图片转化为字符图的小实验,我觉得很有趣,所以决定自己实现一下. 步骤和原理如下: 读取图片的灰度值矩阵(0-255之间),灰度值矩阵主要反映的是图片的黑白程度,越黑越接近与0,越白越接近于2 ...

  2. 想要快速爬取整站图片?速进(附完整代码)

      大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己 ...

  3. 教你用Python将图片转化为字符画!附源代码

    点击上方 "程序员小乐"关注公众号, 星标或置顶一起成长 每天早上8点20分, 第一时间与你相约 每日英文 Whatever you are facing today, remem ...

  4. opengl实现三维动画简单代码_使用Python简单实现马赛克拼图!内附完整代码

    今天小编带大家使用python简单实现马赛克拼图,内容比以往会稍长一些,各位看官老爷可以慢慢细读,若有不足之处还望请斧正,闲话不多说,请看文章. 先看原图: 效果图: 思路: 拼图的原理其实很简单,就 ...

  5. 基于python nlp PyTorch智能对联生成系统 附完整代码 毕业设计

    软件标题:智能对联生成系统 b 系统概述 使用项目:智能对联生成系统 软件用途:通过网页端可以获取到根据已有上联只能生成的下联. 开发历史:本项目未曾有前置版本.但在服务器搭建,Tensorflow ...

  6. 基于python图书馆管理系统和读者系统(附完整代码以及打包好的exe文件)

    摘要: 本文基于python的图书馆管理系统和读者系统,实现了登录.注册.忘记密码.书籍查询.借阅.归还.修改等功能,通过csv文件将数据存储在本地.注册时采用了邮箱验证码,模拟了现实场景.(全部源代 ...

  7. 实战:掌握PyTorch图片分类的简明教程 | 附完整代码

    作者 | 小宋是呢 转载自CSDN博客 1.引文 深度学习的比赛中,图片分类是很常见的比赛,同时也是很难取得特别高名次的比赛,因为图片分类已经被大家研究的很透彻,一些开源的网络很容易取得高分.如果大家 ...

  8. Python实现飞机大战游戏(后附完整代码文件和素材)

    前言 自学Python的记录,不喜勿喷! 本程序的代码是以B站黑马程序员的视频代码为基础,个人加以总结思考,写就的博文,纯属记录自己的学习历程! 当初想到要用Python的pygame模块开发飞机大战 ...

  9. python将图片转为字符_Python将图片转化为字符画

    简介 最近发现一个有趣的操作, 将一张图片转化为字符串的模式来显示! 如图 准备 首先需要安装一个CV模块用来导入图片的#pip install opencv-python 然后明确下程序的设计思路1 ...

最新文章

  1. git版本分支和分支、分支和主分支切换
  2. android 7.0独立升级,爆料:Android 7.0用户将可自行升级!
  3. 如何系统学习机器学习?
  4. 证券市场中银行的分类和作用
  5. python自学网站需要多长时间-怎么自学python,大概要多久?
  6. 汇编指令的学习1——ARM汇编的特点
  7. 志翔科技用大数据技术为行业云构建“安全之翼”...
  8. docker挂载目录
  9. adobe黑体std能商用_adobe字体版权?
  10. 【论文笔记】Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks
  11. MySQL如何创建视图和用户
  12. 一篇文章看明白 Android 系统启动时都干了什么
  13. 【毕业设计】基于大数据的招聘与租房分析可视化系统
  14. IBM建立大中华区云计算中心供验证测试
  15. 弘辽科技:零食市场内卷化 洽洽的功守道
  16. Mac 安装LaTeX教程 mactex+sublime+skim
  17. [笔试] 搜狗校招哈尔滨,武汉站 - 实现加减乘操作
  18. SQLSERVER 查询指定日期是对应月份的第几周
  19. J - 最强王者 POJ - 1753 Flip Game 搜索+状态压缩
  20. 常见蛋白质种类_蛋白粉有哪些种类?适合日常补充的有哪种?

热门文章

  1. 周易卦爻解读笔记——师卦
  2. codeforces 1003A. Polycarp's Pockets,C. Intense Heat(暴力)
  3. 深度学习基础----ROC曲线和AUC值
  4. 在Anaconda3使用Jupyter Notebook的简单例子
  5. 【第51天| 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费 】
  6. 数据结构——哈希查找的实现(C语言)
  7. 理解Spring定时任务@Scheduled的两个属性fixedRate和fixedDelay以及固定时间的定时cron
  8. Oracle配置监听(listener.ora和tnsnames.ora配置)
  9. 知识付费目前面临的问题和未来的趋势
  10. Django计算机毕业设计农产品追溯系统设计与实现python(源码程序+lw+远程部署)