小朋友们好,大朋友们好!

我是猫妹,一名爱上Python编程的小学生。

和猫妹学Python,一起趣味学编程。

今日主题

什么是字符画呢?

如何用Python将图片转为字符画?

我们先找一幅原画,比如它吧,其他彩色图片也一样。

比如猫妹用Python生成的这个如下,它是文本文件,猫妹截图如下:

它本质上是一些字符

下图是用彩色图片转换的字符画,怎么样,神奇吧?

猫妹,这是怎么做的啊?

稍等,有些基础知识,咱们必须先学习掌握下。

图片常识

图片是由什么组成的?

图片由一个像素一个像素组成,每个像素是一个点,其颜色是三原色组成的一个颜色。

上图宽度像素318,高度像素237。

RGB和RGBA

RGB图片和RGBA图片的区别在于,RGB图片表示红、绿、蓝三个通道的颜色,每个通道的取值范围都是0-255,而RGB图片则表示红、绿、蓝以及透明度通道的颜色,每个通道的取值范围都是0-1。

RGB图片比RGB图片多了一个透明度通道,可以用来控制图像的透明度。

在实际使用中,RGB图片通常用于需要进行透明度处理的场景,如CSS滤镜等。

RGB图片:没有“透明度”或“alpha”字样,通常以“.png”、“.jpg”、“.bmp”等格式保存。

RGBA图片:文件扩展名为“.png”时,该文件可能包含透明度信息。

灰度值和灰度图像

以前没有彩色电影,都是黑白电影。

以前没有彩色电视,都是黑白电视。

以前没有彩色相机,都是黑白相机。

以前没有彩色手机,都是黑白手机。

这种图片是怎么组成的呢?

这种图片叫灰度图像,一个重要的参数就是灰度值。

灰度值指黑白图像中点的颜色深度,范围一般从0到255, 白色为255,黑色为0。

字符画是怎么生成的呢?先生成灰度图,再生成字符图

RGB图生成灰度图

RGB图是怎么生成灰度图呢?

gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)

注意这个公式并不是一个真实的算法,而是简化的公式,真实的公式更复杂一些,不过在我们的这个应用场景下并没有必要使用真实的公式。

灰度图生成字图图

灰度图是怎么生成字符图呢?

灰度值不是0~255嘛,将这256个字符映射到N个字符中即可。

unit = (256.0 + 1)/length

txt = ascii_char[int(gray/unit)]

Python图片转字符画,太好玩啦(46)相关推荐

  1. python图片转字符画

    学习了下python图片转字符画,学习连接:Python 图片转字符画,觉得还挺有趣,不过图片的颜色和细节不能太多,不然效果比较差,代码如下: from PIL import Image import ...

  2. 网页版 Python 图片转字符画

    原文:https://lwebapp.com/zh/post/python-image-to-ascii 需求 最近发现一个好玩的 Python 玩法,用 Python 将图片转为字符画,大多数都是本 ...

  3. python 图片转字符画

    python 图片转字符画 项目介绍 本实验用 50 行 Python 代码完成图片转字符画小工具.通过本实验将学习到 Linux 命令行操作,Python 基础,pillow 库的使用,argpar ...

  4. python项目实战:最简单的图片转字符画

    2019独角兽企业重金招聘Python工程师标准>>> 前言 今天为大家一个基础的,且简单的Python图片转字符画的过程,python图像转字符画需要用到matplotlib.py ...

  5. python实现图片转字符画_Python实现图片转字符画的示例代码

    初学Python,在网上看到Python图片转字符画的教程,我也来尝试下. 首先我们要用到Python的PIL库的Image模块,PIL(Python Imaging Library)库是Python ...

  6. 图片转字符画(python)

    记录 python图片转字符画 使用盲文字符 效果图: from PIL import ImageimgSrc = 'test.jpg' chars = list("⣿⣷⣾⢿⡾⣮⣭⣝⣫⣥⡛⣏ ...

  7. python动态图片转字符画_python 图片在线转字符画预览

    关于python图片转字符画,相信大家都不陌生,经常出现在 n个超有趣的python项目中. 今天我也来实践这个有趣的项目,更进一步的是把这个功能做成一个在线的网站,直接上传图片生成字符画,在线预览可 ...

  8. python图像转字符画_Python实现图片转字符画的示例

    字符画真的很有意思,将图片中的像素用字符代替,就生成了字符画. 但是像素是有颜色深浅的,我们如何将带有不同颜色的像素编码为对应的字符呢? 转化方法: 将彩色图片转化为灰度图 根据颜色深浅的RGB值(值 ...

  9. 怎样用python生成中文字符画_如何利用Python实现图片转字符画详解

    本篇文章主要介绍了Python实现图片转字符画的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 字符画真的很有意思,将图片中的像素用字符代替,就生成了字符画. 但是像 ...

最新文章

  1. 最小二乘法的本质是什么?
  2. python三步实现人脸识别
  3. ComputeShader中Counter类型的使用
  4. 重新认识二级指针(Pointers to Pointers)
  5. Kettle使用_23 Excel表格输入ODS POI
  6. tomcat下只有.class文件 没有java文件_解决tomcat发布工程后,WEB-INF/classes下文件不编译的问题...
  7. In-Loop Filters in HEVC
  8. Wordpress安装简要说明
  9. eclipse git提交代码_来看看大厂的Git提交规范,千万别乱提交代码哦...
  10. Javascript 笔记与总结(2-3)Javascript 运算符、控制结构与对象操作
  11. Python二叉树遍历
  12. pythonfor循环输入_python的for循环
  13. JavaScript中的对象比较[重复]
  14. mysql 5.6 升级问题_mysql5.6升级5.7带来的问题
  15. hdu5618 (三维偏序,cdq分治)
  16. 记录一次自己的前端面试心得
  17. FFmpeg 解码 H264 格式的视频
  18. android 木马行为监控,基于行为分析的Android手机木马检测技术研究
  19. 标准88 钢琴键代码 html+css+js
  20. 网易云音乐React Native体系建设与发展

热门文章

  1. Day02 每日英语
  2. 自由口协议转标准modbus通讯协议 非标协议转标准协议
  3. jieba库与中文分词
  4. pytest系列教程——3、setup和teardown
  5. armeabi-v7a armeabi arm64-v8a区别
  6. 声音不止动听——B超是个什么玩意儿
  7. tensorflow tf.constant使用
  8. AI落地项目一:量化交易
  9. 判别式模型和生成式模型
  10. 指针空值——nullptr