首页 > 编程语言 >python3_图像

python3_图像

时间:2023-10-30 18:44:34浏览次数:45  
标签:gray code text char im 图像 灰度 python3

图像读取的Image.open()和cv2.imread()的区别-CSDN博客

报错:ModuleNotFoundError: No module named 'PIL'解决方法-CSDN博客

wordcloud: raise ValueError(“Only supported for TrueType fonts“)_是 傻羊啊的博客-CSDN博客

环境配置:

# pip install pillow

 

from PIL import Image

char_set = '''$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. '''

#im = Image.open('qq.png')   # 这里如果照片文件在脚本路径下只用文件名是不行的,会报错(实际是去PIL\image.py同路径下找文件)
im = Image.open('D:\code\my_learn\qq.png')  
im = im.convert('L')    # 转为黑白图, 每个像素都一个灰度值,从0到255, 0是黑色, 255是白色
# im.save('D:\code\my_learn\\t.jpeg')   # 这里也是,如果不加绝对路径,是保存到PIL\image.py同路径下
im.save('D:\code\my_learn\\t.jpeg')   # 保存图片只是为了演示黑白照片

def get_char(gray):
    if gray >= 240:
        return ' '   # 灰度值大于240的,转成空字符串,这样看着舒服,其余的,按比例映射到字符集上
    else:
        return char_set[int(gray/((256.0 + 1)/len(char_set)))]

text = ''
for i in range(im.height):
    for j in range(im.width):
        gray = im.getpixel((j, i))      # 每个像素点都可以通过im.getpixel方法获得灰度值。 返回值可能是一个int, 也可能是一个三元组
        if isinstance(gray, tuple):      # isinstance(object, classinfo) 判断object与classinfo的类型是否相同,相同返回True,否则返回false
            gray = int(0.2126 * gray[0] + 0.7152 * gray[1] + 0.0722 * gray[2])

        text += get_char(gray)    # 灰度值转成字符
    text += '\n'

with open('D:\code\my_learn\pic.txt', 'w')as f:
    f.write(text)
    
'''
强调一点,生成的txt文件不要打开查看,那样你看不到一个完整的字符画,
在浏览器里打开字符画,这样才可以看到完整的,
如果你把缩小的比例再放大一点,生成的字符画就会失去很多细节,一般来说,宽80就可以了,高度看情况调整。
'''

 

标签:gray,code,text,char,im,图像,灰度,python3
From: https://www.cnblogs.com/bluebluehi/p/17798541.html

相关文章

  • [-005-]-Python3+Unittest+Selenium Web UI自动化测试之页面滑动
    1.上下滑动a.滑动#滑动至页面底部:js1="window.scrollTo(0,document.body.scrollHeight)"self.driver.execute_script(js1)#滑动至页面顶部:js2="window.scrollTo(0,0)"self.driver.execute_script(js2)c.纵向滚动条通过scrollBy坐标来滚动#纵向滚动条通过scr......
  • 【CV】图像分割详解!
    图像分割是计算机视觉研究中的一个经典难题,已经成为图像理解领域关注的一个热点,图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组成部分,同时也是图像处理中最困难的问题之一。所谓图像分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交......
  • centos7:安装python3.6.8:安装uvicorn、fastapi、pymysql:指定国内的pypi镜像源
    yuminstallpython3python3-develgccmakelibaio-develpip3install-ihttp://mirrors.aliyun.com/pypi/simple--trusted-hostmirrors.aliyun.com"uvicorn[standard]"==0.16.0pymysqlfastapi 关键点:因为centos7的软件仓库中,python3的版本比较低:python3-3.6.8-1......
  • video标签播放黑屏,只有声音无图像
    原链接:https://www.jianshu.com/p/23927bf4b634在做视频上传时,发现有的视频上传之后无法播放的问题,在手机(ios)上却可以显示一、先从video标签讲起在2000年代初期到后期,网络上的视频播放主要依靠Flash插件,这是因为当时没有其它方法可以在浏览器上流式传输视频,然而,并非所有浏览器......
  • 图像形态学自学(持续更新ing)
    一、膨胀运算膨胀运算是图像二值形态学的基本运算,是将与物体接触的背景点合并到该物体中,使边界向外部扩张的过程。具体操作是:用一个结构元素(例子中为3*3方格)扫描图像中的每一个像素,用结构元素中的每一个像素与其覆盖的像素做"与"操作,如果都为0,则该像素为0,否则为1。 ......
  • [Leetcode] 0832. 翻转图像
    832.翻转图像题目描述给定一个 nxn 的二进制矩阵 image ,先水平翻转图像,然后 反转 图像并返回 结果 。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1,1,0] 的结果是 [0,1,1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被......
  • “我有一个大胆的想法”?Meta AI 新技术让你的思维图像一览无余!
     作者|付奶茶大家之前是否想象过未来的技术进步会带来读脑器,计算界面是否有可能越过触摸屏、键盘进入我们思维内部读取我们脑袋中所想。尽管当前我们社会尚未达到这一阶段,但我们确实逐渐接近这一愿景!不久前,MetaAI宣布了一项名为ImageDecoder的深度学习应用,由FAIR-Paris与巴黎......
  • TouchGFX界面开发 | 图像控件应用示例
    图像控件应用示例TouchGFX中的图像会绘制关联图像文件中的像素数据。使用图像文件前,必须将其导入到项目中。TouchGFXDesigner内置了五种类型的图像部件:固定图像:图像大小是由关联的图像文件定义的,不能在运行时改动。若要将图像显示为不同大小,需调整导入图像的大小缩放图像:能够绘制......
  • Python环境下LaTeX数学公式转图像方案调研与探讨
    @目录引言方案一:基于LaTeX环境方案二:基于KaTeX(推荐)方案三:基于Matplotlib写在最后引言近来,涉及到一些公式识别的项目,输入是公式的图像,输出是LaTeX格式的数学公式字符串。这类项目一般都采用深度学习的方法来做,这就涉及到构造公式LaTeX字符串和对应渲染后图像的数据集。来训练......
  • 【Python】用Python生成图像特效
    1.引用本文重点介绍如何使用python进行图像处理,生成各式各样的图像特效。闲话少说,我们直接开始吧!2.读入图像首先我们来读取我们的样例图像,并尝试打印图像中相应元素的像素值。为了实现这一点,我们使用Python中的Pillow子模块进行实现,代码如下:fromPILimportImageimg=Image.o......