[Python]图片转字符画——这就是我的表情!!!!!!

背景

偶尔看到一些视频,他们把图片转字符画,平常也没有去关注,今天来捣鼓一下。
研究了一下还超级简单的,都是调用别人写好的框架。
网上也有很多教学。


代码实现

from PIL import Image
# 表示字符颜色,由深到浅(可自定义)
ascii_chars = " .,:-=+o*Oθ%@■▇"
# 像素点 转 字符
# 根据像素点颜色 选取 字符
def pixel_to_char(pixel):gray = int(0.2126 * pixel[0] + 0.7152 * pixel[1] + 0.0722 * pixel[2])unit = 256 / len(ascii_chars)return ascii_chars[int(gray / unit)]# 图片 转 字符画
# 参数:
#     image_path:图片路径,
#	  output_width : 图片大小
def image_to_ascii(image_path, output_width=100):img = Image.open(image_path)width, height = img.sizeoutput_height = int(output_width * height / width * 0.55)img = img.resize((output_width, output_height))ascii_img = ''for i in range(output_height):for j in range(output_width):pixel = img.getpixel((j, i))ascii_img += pixel_to_char(pixel)ascii_img += '\n'return ascii_img
# 调用
print(image_to_ascii(你图片的路径, 180))

效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

QSS样式表的使用

QSS样式表的使用 Chapter1 【Qt】样式表的使用——设置样式的方法一、简述二、开始总结 Chapter1 【Qt】样式表的使用——设置样式的方法 原文链接:https://blog.csdn.net/weixin_41838721/article/details/123323206 一、简述 我们通常在使用Qt开发的过程中都会…

深入了解Python类与面向对象编程

更多资料获取 📚 个人网站:涛哥聊Python 在编程世界中,面向对象编程(OOP)是一种强大的编程范式,而Python是一门优雅而强大的编程语言。本文将带你深入探讨Python中的类与面向对象,为你揭示面向…

FHRP首跳冗余的解析

首跳冗余的解析 个人简介 HSRP hot standby router protocol 热备份路由协议 思科设备上 HSRP VRRP 华为设备上 VRRP HSRP v1 version 1 HSRP v2 version 2 虚拟一个HSRP虚拟IP地址 192.168.1.1 开启HSRP的抢占功能 通过其他参数 人为调整谁是主 谁是从 &a…

亚马逊,速卖通,敦煌产品测评补单攻略:低成本、高安全实操指南

随着电商平台的发展和消费者对产品质量的要求提升,测评补单成为了商家们提升销售和用户口碑的关键环节。然而,如何在保持成本低廉的同时确保操作安全,一直是卖家们面临的挑战。今天林哥分享一些实用的技巧和策略,帮助卖家们产品的…

阿里云ModelScope 是一个“模型即服务”(MaaS)平台

简介 项目地址:https://github.com/modelscope/modelscope/tree/master ModelScope 是一个“模型即服务”(MaaS)平台,旨在汇集来自AI社区的最先进的机器学习模型,并简化在实际应用中使用AI模型的流程。ModelScope库使开发人员能够通过丰富的…

uniapp上echarts地图钻取

1: 预期效果 通过切换地图 , 实现地图的钻取效果 2: 实现原理以及核心方法/参数 一开始是想利用更换地图数据的形式进行地图钻取 , 这就意味着我们需要准备全国30多个省份的地图数据 , 由于一开始考虑需要适配小程序端 , 如此多的地图文件增加了程序的体积 , 如果使用接口调…

MySQL数据生成工具mysql_random_data_load

在看MySQL文章的时候偶然发现生成数据的工具,此处直接将软件作者的文档贴了过来,说明了使用方式及下载地址 Random data generator for MySQL Many times in my job I need to generate random data for a specific table in order to reproduce an is…

Zookeeper-JavaApI操作

JavaApI操作 JavaApI操作1) Curator 介绍2) Curator API 常用操作a) 建立连接与CRUD基本操作b) Watch事件监听c) 分布式锁c.1) 介绍c.2) Zookeeper分布式锁原理c.3) 案例:模拟12306售票 JavaApI操作 1) Curator 介绍 Curator 是 Apache ZooKeeper 的Java客户端库。…

通过商品ID获取淘宝天猫商品评论数据,淘宝商品评论接口,淘宝商品评论api接口

淘宝商品评论内容数据接口可以通过以下步骤获取: 登录淘宝开放平台,进入API管理控制台。在API管理控制台中创建一个应用,获取到应用的App Key和Secret Key。构造请求URL,请求URL由App Key和Secret Key拼接而成,请求UR…

GPU 基础知识整理

萌新: 在接触一款硬件时我会:基础硬件结构,线程结构,内存布局,数据吞吐量,等方面进行学习 首先GPU的特点: 并行性能:GPU 是专门设计用于并行计算的硬件,通常具有大量的处理单元&am…

【已编译资料】基于正点原子alpha开发板的第三篇系统移植

系统移植的三大步骤如下: 系统uboot移植系统linux移植系统rootfs制作 一言难尽,踩了不少坑,当时只是想学习驱动开发,发现必须要将第三篇系统移植弄好才可以学习后面驱动,现将移植好的文件分享出来: 仓库&…

关于vue3启动的一些错误总结

一、成功解决 npm ERR! ERESOLVE could not resolve 解决办法: npm i --legacy-peer-deps –legacy-peer-deps 作用: 在NPM v7中,现在默认安装peerDependencies。 在很多情况下,这会导致版本冲突,从而中断安装过程。 …