Python实现图片转化为字符图(附完整代码)
工作原理:
先将图片每个像素的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实现图片转化为字符图(附完整代码)相关推荐
- python将图片转化为字符图
最近看到将图片转化为字符图的小实验,我觉得很有趣,所以决定自己实现一下. 步骤和原理如下: 读取图片的灰度值矩阵(0-255之间),灰度值矩阵主要反映的是图片的黑白程度,越黑越接近与0,越白越接近于2 ...
- 想要快速爬取整站图片?速进(附完整代码)
大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己 ...
- 教你用Python将图片转化为字符画!附源代码
点击上方 "程序员小乐"关注公众号, 星标或置顶一起成长 每天早上8点20分, 第一时间与你相约 每日英文 Whatever you are facing today, remem ...
- opengl实现三维动画简单代码_使用Python简单实现马赛克拼图!内附完整代码
今天小编带大家使用python简单实现马赛克拼图,内容比以往会稍长一些,各位看官老爷可以慢慢细读,若有不足之处还望请斧正,闲话不多说,请看文章. 先看原图: 效果图: 思路: 拼图的原理其实很简单,就 ...
- 基于python nlp PyTorch智能对联生成系统 附完整代码 毕业设计
软件标题:智能对联生成系统 b 系统概述 使用项目:智能对联生成系统 软件用途:通过网页端可以获取到根据已有上联只能生成的下联. 开发历史:本项目未曾有前置版本.但在服务器搭建,Tensorflow ...
- 基于python图书馆管理系统和读者系统(附完整代码以及打包好的exe文件)
摘要: 本文基于python的图书馆管理系统和读者系统,实现了登录.注册.忘记密码.书籍查询.借阅.归还.修改等功能,通过csv文件将数据存储在本地.注册时采用了邮箱验证码,模拟了现实场景.(全部源代 ...
- 实战:掌握PyTorch图片分类的简明教程 | 附完整代码
作者 | 小宋是呢 转载自CSDN博客 1.引文 深度学习的比赛中,图片分类是很常见的比赛,同时也是很难取得特别高名次的比赛,因为图片分类已经被大家研究的很透彻,一些开源的网络很容易取得高分.如果大家 ...
- Python实现飞机大战游戏(后附完整代码文件和素材)
前言 自学Python的记录,不喜勿喷! 本程序的代码是以B站黑马程序员的视频代码为基础,个人加以总结思考,写就的博文,纯属记录自己的学习历程! 当初想到要用Python的pygame模块开发飞机大战 ...
- python将图片转为字符_Python将图片转化为字符画
简介 最近发现一个有趣的操作, 将一张图片转化为字符串的模式来显示! 如图 准备 首先需要安装一个CV模块用来导入图片的#pip install opencv-python 然后明确下程序的设计思路1 ...
最新文章
- git版本分支和分支、分支和主分支切换
- android 7.0独立升级,爆料:Android 7.0用户将可自行升级!
- 如何系统学习机器学习?
- 证券市场中银行的分类和作用
- python自学网站需要多长时间-怎么自学python,大概要多久?
- 汇编指令的学习1——ARM汇编的特点
- 志翔科技用大数据技术为行业云构建“安全之翼”...
- docker挂载目录
- adobe黑体std能商用_adobe字体版权?
- 【论文笔记】Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks
- MySQL如何创建视图和用户
- 一篇文章看明白 Android 系统启动时都干了什么
- 【毕业设计】基于大数据的招聘与租房分析可视化系统
- IBM建立大中华区云计算中心供验证测试
- 弘辽科技:零食市场内卷化 洽洽的功守道
- Mac 安装LaTeX教程 mactex+sublime+skim
- [笔试] 搜狗校招哈尔滨,武汉站 - 实现加减乘操作
- SQLSERVER 查询指定日期是对应月份的第几周
- J - 最强王者 POJ - 1753 Flip Game 搜索+状态压缩
- 常见蛋白质种类_蛋白粉有哪些种类?适合日常补充的有哪种?
热门文章
- 周易卦爻解读笔记——师卦
- codeforces 1003A. Polycarp's Pockets,C. Intense Heat(暴力)
- 深度学习基础----ROC曲线和AUC值
- 在Anaconda3使用Jupyter Notebook的简单例子
- 【第51天| 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费 】
- 数据结构——哈希查找的实现(C语言)
- 理解Spring定时任务@Scheduled的两个属性fixedRate和fixedDelay以及固定时间的定时cron
- Oracle配置监听(listener.ora和tnsnames.ora配置)
- 知识付费目前面临的问题和未来的趋势
- Django计算机毕业设计农产品追溯系统设计与实现python(源码程序+lw+远程部署)