Python如何将图片转换成字符

PIL(Python Image Library)库是Python平台上一个功能强大的图像处理标准库,支持图像的存储、显示和处理,几乎可以处理所有图片格式,如图像的压缩、裁剪、叠加、添加文字等等。

安装PIL库:pip install pillow

from PIL import Image
ascii_char=list('\~!@#.,[abcdefghij]wmnoxy$%;-=<>?:|^&*/ ')
def get_char(r,b,g,alpha=256):if alpha==0:return ' 'gray=int(0.2126*r+0.7125*g+0.0722*b)uint=256/len(ascii_char)return ascii_char[int(gray/uint)]
def run():img=Image.open('0.jpg')WIDTH,HEIGHT=100,60img=img.resize((WIDTH,HEIGHT))txt=""for i in range(HEIGHT):for j in range(WIDTH):txt+=get_char(*img.getpixel((j,i)))txt+='\n'with open("pic.txt",'w') as fo:fo.write(txt)print(txt)    
run()

示例

qq.jpg

ww.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576796.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【期末复习】微信小程序复习大纲( 1- 5 章)

前言&#xff1a; 这周开始进入期末复习周&#xff0c;没时间看C/C、linux等知识了&#xff0c;先把期末考试必考的知识捋一遍。 目录 第一章 微信小程序入门 一、填空题 二、判断题 三、选择题 四、简答题 第二章 微信小程序页面制作 一、填空题 二、判…

【Java中创建对象的方式有哪些?】

✅Java中创建对象的方式有哪些&#xff1f; ✅使用New关键字✅使用反射机制✅使用clone方法✅使用反序列化✅使用方法句柄✅ 使用Unsafe分配内存 ✅使用New关键字 这是我们最常见的也是最简单的创建对象的方式&#xff0c;通过这种方式我们还可以调用任意的构造函数 (无参的和有…

mybatis的二级缓存使用以及禁用

目录 mybatis 二级缓存配置有两处 全局设置 mapper 设置 测试代码 执行结果 源码执行逻辑 创建 SqlSession 二级缓存配置是否添加 解析 cache 标签 XMLMapperBuilder MapperBuilderAssistant CacheBuilder PerpetualCache SerializedCache LoggingCache 将 cach…

Grafana二进制部署并配置prometheus数据源

1、获取grafna二进制安装包 https://grafana.com/grafana/download?pggraf&plcmtdeploy-box-1 grafana官网下载地址 [rootambari-hadoop1 ~]# cd /opt/module/grafana/ [rootambari-hadoop1 grafana]# pwd /opt/module/grafana2、在安装自己的安装目录执行 wget https:…

【C Primer Plus第六版 学习笔记】第十三章 文件输入/输出

有基础&#xff0c;进阶用&#xff0c;个人查漏补缺 文件&#xff1a;在磁盘或固态硬盘上的一段已命名的存储区。C把文件看作是一系列连续的字节所有文件的内容都以二进制形式&#xff08;0或1&#xff09;储存。 文本文件&#xff1a;文件最初使用二进制编码的字符表示文本&a…

在killercoda中的一次apiserver异常追查思路

笔者&#xff1a; 最近在准备cks考试&#xff0c; 然后又发现了killercoda这个能够提供模拟考试环境的平台。它提供了很棒的引导&#xff0c;教你一步步追查问题&#xff0c;形成一整套追查思路&#xff0c;我觉得很不错&#xff0c;特此分享。 准备工作 首先还是需要养成配置…

spark:RDD编程(Python版)

RDD运行原理 RDD设计背景 许多选代目前的MapReduce框架都是把中间结果写入到稳定存储 (比如磁盘)中带来了大量的数据复制、磁盘IO和序列化开销 RDD就是为了满足这种需求而出现的&#xff0c;它提供了一个抽象的数据架构&#xff0c;我们不必担心底层数据的分布式特性&#xf…

useRef语法讲解

useRef useRef 用法 import { useRef, useState } from react import ./App.cssfunction App() {const userRef useRef<HTMLInputElement>(null)const [val, setVal] useState()const handleClick () > {userRef.current?.focus()setVal(userRef.current?.valu…

windows中python3创建虚拟环境

当我们在创建一个python项目时&#xff0c;经常需要安装一堆库&#xff0c;然后转到另一个项目&#xff0c;却发现依赖冲突了&#xff0c;人都麻了。所以创建虚拟环境就是解决这个大麻烦的。 什么是虚拟环境&#xff1f; 虚拟环境是Python的一个工具&#xff0c;支持我们在一…

【cesium-2】Cesium相机系统

相机系统有setView、flyTo、lookAt、viewBoundingsphere等方法&#xff0c;下面是相关的使用方法。 flyTo具有空中飞行逐步切换视域的效果&#xff0c;还可设置飞行时间&#xff1b; setView方法可直接切换相机视口&#xff0c;从而不需要通过一个飞入的效果切换&#xff1b; l…

C/C++不同整数类型的区别

在C/C中涉及的整数相关的类型大致有如下几种&#xff1a; char、unsigned charshort、unsigned shortint、unsigned intlong、unsigned longlong long、unsigned long longint8_t、uint8_tint32_t、uint32_tint64_t、uint64_tDWORDDWORD32、DWORD64size_t、ssize_tSIZE_T、SSI…

Docker Swarm部署实操

大家好&#xff0c;我是升仔 引言 Docker Swarm 是 Docker 官方的集群管理工具&#xff0c;它将多个 Docker 主机转换为一个虚拟的 Docker 主机。Swarm 提供了容器编排、集群管理、服务发现等功能&#xff0c;非常适合生产环境的需要。 部署步骤 环境准备 准备至少三台安装了 D…

Nginx安装与文件服务器实现

1. 概述 Nginx是一个高性能的反向代理和web服务器软件&#xff0c;特点是系统资源消耗低、高性能、高并发、扩展性好。一个进程可以处理多个请求&#xff0c;并且是非阻塞式响应。 windows安装安装包下载地址&#xff1a;https://nginx.org/en/download.html下载之后解压运行n…

Python爬虫---解析---JSONPath

Xpath可以解析本地文件和服务器响应的文件&#xff0c;JSONPath只能解析本地文件 1. 安装jsonpath&#xff1a;pip install jsonpath 注意&#xff1a;需要安装在python解释器相同的位置,例如&#xff1a;D:\Program Files\Python3.11.4\Scripts 2. 使用步骤 2.1 导入&…

什么是 PHP 内存溢出 ?遇到了要如何解决呢 ?

PHP内存溢出指的是在PHP应用程序中&#xff0c;分配给脚本执行的内存超出了PHP配置文件中设置的限制。当脚本尝试使用比可用内存更多的内存时&#xff0c;就会发生内存溢出错误。 一、内存溢出可能由以下几个原因引起&#xff1a; 循环引用&#xff1a;如果存在循环引用&#…

tensorboard可视化——No dashboards are active for the current data set.

No dashboards are active for the current data set. 出现问题的原因是事件的路径未用绝对路径&#xff0c;tensorboard --logdir./runs --port6007 改为tensorboard --logdirD:\Code\Python\Study\CL\hat-master\hat-master\run s\one --port6007就好了

acwing linux docker教程

终章 听着名字还挺伤感的哈哈哈其实是Linux的终章&#xff0c;感谢大家这段时间的阅读&#xff0c;这段使时间我为了给大家清楚的讲解一下Linux自己也是很认真的学习了一遍&#xff0c;自己提升了也不少。其实最近学校里面是讲了Linux和windows server 2019搭载DNS、web、ftp服…

[渗透测试学习] Manager - HackTheBox

文章目录 信息搜集 nmap扫描一下端口 nmap -sV -sC -p- -v --min-rate 1000 10.10.11.236扫出来很多端口&#xff0c;其中80端口有http服务&#xff0c;88端口是采用一个身份验证协议kerberos&#xff0c;以及NetBIOS-SSN&#xff08;端口139&#xff09;和Microsoft-DS&#…

探索前端构建可视化应用的思路

一、前言 前端社区里&#xff0c;低代码/无代码是被讨论的火热赛道。简单来说低代码就是通过编写少量代码的方式完成应用的开发及上线&#xff0c;而无代码是低代码的子集&#xff0c;不需要编写代码通过配置的方式即可完成整个应用的开发。目前集团内部的低代码平台已经有很多…

如何使用Docker部署Dashy并无公网ip远程访问管理界面

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务&#xff0c;具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起&#xff0c;形成自己的导航…