Python之硬汉巴特勒

news2024/11/23 4:50:14

一、前言

  2023年4月27日,NBA季后赛热火4:1淘汰雄鹿,实现黑八。全NBA联盟最硬气的男人——巴特勒,再次向全世界证明了他是NBA最硬气的男人。上一场刚狂轰56分大比分逆转雄鹿,这一场又是带领球队打出了血性,超高难度绝平球,加时关键进球,轰下42分8篮板4助攻2抢断1盖帽的全面数据逆转16分,鏖战加时后取胜,黑八淘汰兵强马壮的雄鹿队。这一场比赛包含了黑八、加时、逆转、绝平、跌宕起伏、精彩进球、紧咬比分、超强防守、身体对抗、精彩三分、精彩战术PK、三大主力被罚下场等等诸多经常比赛的元素。说实在的,经过这场比赛我被巴特勒圈粉了。所以我想做点什么,做点什么呢?那就用python画一副字符画,展现一下这个最硬气的男人吧。
在这里插入图片描述

二、实现步骤

1、安装python

  我们可以使用anaconda3创建python虚拟环境,anaconda3的安装可以参照博文Linux之anaconda3安装及使用。安装完成后我们创建一个用于运行此打印巴特勒帅气字符图案的虚拟环境,环境名称btl。

(base) [wuhs@s142 ~]$ conda create -n btl python=3.8
(base) [wuhs@s142 ~]$ conda activate btl

2、安装PIL库

  对图片的处理需要用到PIL库,所以我们需要在python虚拟环境下安装PIL库,安装方式如下。

(btl) [wuhs@s142 ~]$ pip install pillow

3、编写python代码

  实现的基本思路就是选择一张帅气的巴特勒照片;使用python的PIL库将彩色照片降噪处理;然后转换为黑白图片;然后获取图片像素点的颜色值;将值转换为指定字符,黑色全部用硬气的Y代替;将字符写入文本文档;使用浏览器缩放到最小查看文本文档。

(btl) [wuhs@s142 ~]$ cd anaconda3/envs/btl/
(btl) [wuhs@s142 btl]$ cat btl.py
#!/home/wuhs/anaconda3/envs/btl/bin/python
# coding=utf-8
#引入PIL模块的包
from PIL import Image,ImageEnhance
#打开图片
im = Image.open('btl.jpg')
#增加对比度
im = ImageEnhance.Contrast(im).enhance(2.0)
#降低亮度
im = ImageEnhance.Brightness(im).enhance(0.9)
#重新设定图片像素
im2 = im.resize((400 int(im.size[1]/im.size[0]*400)))
#彩色图片转换为黑白图片
im2 = im2.convert('1')
X = ''
#获取像素点,黑色替换为Y字符,白色替换为空格
for i in range(im2.size[1]):
        for j in range(im2.size[0]):
                if im2.getpixel((j,i))== 0:
                        X += 'Y'
                else:
                        X += ' '
        else:
                X += '\n'
#将像素点值写入文本文档btl.txt                
with open('btl.txt', 'w') as f:
        f.write(X)

4、选择图片

  百度搜索巴特勒硬汉,找到一张自己最满意的照片,实际上我们还可以选择图片后自己配文字,下载图片,文件另存为btl.jpg。
在这里插入图片描述

5、执行python代码

  将btl.jpg图片上传到虚拟机环境,python脚本路径下,然后执行python代码。

(btl) [wuhs@s142 btl]$ python btl.py

6、下载图片转换后的文本

  文本图案需要缩放才能看出全貌,我们将文本文档下载。

(btl) [wuhs@s142 btl]$ ll |grep -E “jpg|txt|py”
-rw-r–r–. 1 wuhs wuhs 61861 Apr 28 16:16 btl2.jpg
-rw-r–r–. 1 wuhs wuhs 607 Apr 28 16:17 btl2.py
-rw-rw-r–. 1 wuhs wuhs 202537 Apr 28 16:17 btl2.txt
-rw-r–r–. 1 wuhs wuhs 83244 Apr 28 14:35 btl.jpg
-rw-r–r–. 1 wuhs wuhs 477 Apr 28 17:24 btl.py
-rw-rw-r–. 1 wuhs wuhs 90225 Apr 28 16:03 btl.txt
-rw-r–r–. 1 wuhs wuhs 187110 Apr 28 17:23 jp.jpg
-rw-rw-r–. 1 wuhs wuhs 102255 Apr 28 17:24 jp.txt
(btl) [wuhs@s142 btl]$ sz btl.txt

7、浏览器查看字符文本文件

  使用浏览器打开btl.txt,利用浏览器的缩放功能将浏览器页面缩到最新,至此大功告成。当然此python代码可以打印任意图片。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

快速搭建简单图床 - 远程访问本地搭建的EasyImage图床【内网穿透】

文章目录 1.前言2. EasyImage网站搭建2.1. EasyImage下载和安装2.2. EasyImage网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 一个好的图床,是网站或者文章图片能稳定显示的关键,…

驱动管理软件推荐

最近发现电脑右下角的任务栏中有一个叹号图标,如下: 点进去之后发现是Windows自家的安全中心的内核隔离出现了点问题,内核隔离功能打不开 点击“查看不兼容的驱动程序”,发现是一些驱动作祟 我的电脑中显示了好多不兼容的驱动程序…

跟着我学习 AI丨语音识别:将语音转为数字信号

语音识别是一种人工智能技术,其主要目的是将人类说话转化为计算机可以理解的信息。语音识别技术的应用非常广泛,包括智能家居、汽车导航、语音搜索、人机交互、语音翻译等。 语音识别的技术原理 语音识别的技术原理是将人类的语音信号转化为数字信号。这…

『python爬虫』06. 数据解析之re正则解析(保姆级图文)

目录 1. 什么是re解析2. 正则规则元字符量词匹配模式测试 3. 正则案例4. re模块的使用4.1 findall: 匹配字符串中所有的符合正则的内容4.2 finditer: 匹配字符串中所有的内容[返回的是迭代器]4.3 search, 找到一个结果就返回, 返回的结果是match对象4.4 match 从头开始匹配&…

Windows forfiles命令详解,Windows按时间搜索特定类型的文件。

「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 forfiles 一、结果输出格式二、按时间搜索三、搜索指定类型文件四、批量删除文件 forfile…

Ubuntu远程SSH连接与远程桌面连接

目录 一、远程桌面连接 二、远程SSH连接 1、安装客户端 2、安装服务端 3、SSH客户端和服务端的区别 一、远程桌面连接 首先需要在Ubuntu里进行些设置,点击界面右上角的控制区,选择设置选项; 弹出界面进入网络中,点击设置图…

【致敬未来的攻城狮计划】— 连续打卡第十八天:FSP固件库开发GPT — PWM输出波形 — LED呼吸灯

系列文章目录 1.连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下 2.开发环境的选择和调试(从零开始,加油) 3.欲速则不达,今天是对RA2E1 基础知识的补充学习。 4.e2 studio 使用教程 5.…

Rust开发环境搭建到运行第一个程序HelloRust

一、Rust语言 1.1 Rust语言介绍 Rust 语言是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言。 Rust 语言由 Mozilla 开发,最早发布于2014年 9月。Rust 的编…

《ADC和DAC的基本架构》----学习记录(二)

2 模数转换器 2.1 ADC架构I:Flash转换器 2.1.1 比较器:1位ADC 转换开关是 1 位 DAC,而比较器是 1 位 ADC,如图所示。如果输入超过阈值,输出即会具有一个逻辑值,而输入低于阈值时输出又会有另一个值。此外…

寻找2020+跳蚱蜢(蓝桥杯JAVA解法)

目录 寻找2020:用户登录 题目描述 运行限制 跳蚱蜢:用户登录 题目描述 运行限制 寻找2020:用户登录 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝有一个数字矩阵&a…

使用ChatGPT生成了十种排序算法

前言 当前ChatGPT非常火爆,对于程序员来说,ChatGPT可以帮助编写很多有用的代码。比如:在算法的实现上,就可以替我们省很多事。所以,小试牛刀一下,看看ChatGPT生成了排序算法怎么样? 简介 排序…

网站搭建之配置tomcat

【 本次配置架构】 【安全配置】 1.删除后台登录 在tomcat安装目录下的/conf文件下编辑tomcat-users.xml,删除里面带有标签的内容块,默认这部分是被注释了的。注释了任然会显示后台登录,需要彻底删除。 进入末行模式,也就是使用vim进去后&…

Flask开发之环境搭建

目录 1、安装flask 2、创建Flask工程 ​编辑 3、初始化效果 4、运行效果 5、设置Debug模式 6、设置Host 7、设置Port 8、在app.config中添加配置 1、安装flask 如果电脑上从没有安装过flask,则在命令行界面输入以下命令: pip install flask 如果电…

【MFAC】基于偏格式动态线性化的无模型自适应控制(Matlab代码)

例题来源:侯忠生教授的《无模型自适应控制:理论与应用》(2013年科学出版社)。 👉对应书本 4.3 单输入单输出系统(SISO)偏格式动态线性化(PFDL)的无模型自适应控制(MFAC) 上一篇博客介绍了基于紧格式动态线性化的无模型…

C++每日一练:打家劫室(详解动态规划法)

文章目录 前言一、题目二、分析三、代码总结 前言 这题目出得很有意思哈,打劫也是很有技术含量滴!不会点算法打劫这么粗暴的工作都干不好。 提示:以下是本篇文章正文内容,下面案例可供参考 一、题目 题目名称: 打家…

实现Newton方法的最小化函数(pytorch)

首先,我们要明确需求 def newton(theta, f, tol 1e-8, fscale1.0, maxit 100, max_half 20) ● theta是优化参数的初始值的一个向量。 ● f是要最小化的目标函数。该函数应将PyTorch张量作为输入,并返回一个张量。 ● tol是收敛容忍度。 ● fscale 粗…

【Leetcode -328.奇偶链表 - 725.分隔链表】

Leetcode Leetcode -328.奇偶链表Leetcode - 725.分隔链表 Leetcode -328.奇偶链表 题目:给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。 第一个节点的索引被认为是 奇数 &am…

苏州百特电器有限公司网站设计

苏州百特电器有限公司网站设计 五一假期作业企业门户网站布局设计 基于 <div> 的企业门户网站设计 by 小喾苦 我这里仅仅是使用 html css 来实现这个网站的效果&#xff0c;并不是宣传这个网站(现在这个网站已经过时并且无法进入) 实现效果 https://xkk1.github.io/…

出差在外,远程访问企业局域网象过河ERP系统「内网穿透」

文章目录 概述1.查看象过河服务端端口2.内网穿透3. 异地公网连接4. 固定公网地址4.1 保留一个固定TCP地址4.2 配置固定TCP地址 5. 使用固定地址连接 转载自远程穿透文章&#xff1a;公网远程访问公司内网象过河ERP系统「内网穿透」 概述 ERP系统对于企业来说重要性不言而喻&am…

初识中央处理器CPU

目录 一、CPU功能 1.控制器功能 2.运算器功能 3.功能执行顺序 4.其他功能 二、CPU结构图 1.CPU与系统总线 2.CPU内部结构 3.运算器中的寄存器组 4.控制器中的寄存器组 三、执行指令的过程 1.指令周期的基本概念 2.完整的指令周期流程 3.数据通路 4.指令周期的数据…