基于python开发的DIY宠物桌面系统(附源码)--可自定义修改

news2024/11/20 1:54:27

定制你的宠物桌面

最近想要做一个自己独一无二的桌面宠物,可以直接使用python来自己订制。属于一个小项目,这个教程主要包含几个步骤:

  1. 准备需要的动图素材

  2. 规划自己需要的功能

  3. 使用python的PyQt5订制功能

在这个教程中,我主要实现了桌面宠物的几个功能:

  1. 每隔一段时间切换动图素材+文字
  2. 点击宠物时有额外动作
  3. “故事大会”功能:跟宠物聊天,进行文本生成
  4. “休息一下”功能:隔一个小时提醒你休息功能

话不多说,先上源码下载链接:

完整python源码https://download.csdn.net/download/DeepLearning_/87337388

然后让我们一起开始把。

1. 准备需要的动图素材

这些素材你可以直接从网上下载找到,比如可以去动图素材网站:
https://www.soogif.com/

在这里插入图片描述
搜索我要的动图“皮卡丘”,下载之后就需要对素材的背景去掉,设置成透明状态。

1.1 去除动图背景

这里可以利用PS(也可以使用网页版PS)工具,对动图去除背景。首先把动图导入到PS中,得到如下所示:

在这里插入图片描述

其中最右边时每一帧的图片,选中其中一个图片,然后点击显示眼睛按钮:

在这里插入图片描述

然后利用魔棒工具

在这里插入图片描述

框选背景图,进行删除:

在这里插入图片描述

重复上面操作,最后导出gif图就可以得到纯白背景的动图了。

2.python环境安装

这次功能上,还额外调用了hugging face模块中的文本生成功能,因此需要安装:

pip install huggingface

3.项目工程

在这里插入图片描述

● main.py:整体功能函数

● dialog.txt:存放随机展示的文本

● pikaqiu:存放随机展示的动图

● talk_show.py:文本生成功能

这里具体介绍怎么使用huggingface导入文本生成模型。

打开huggingface官网:

https://huggingface.co/,然后点击Models,搜索训练好的中文生成模型

在这里插入图片描述

例如我找到一个GPT中文预训练模型:

在这里插入图片描述

有两种方法导入,一种是直接利用hugggingface,它会直接下载模型,一种是利用git下载模型:
在这里插入图片描述

下载模型后,仅仅需要几行代码,就可以导入模型生成文本:

from transformers import BertTokenizer, GPT2LMHeadModel, TextGenerationPipeline 
tokenizer = BertTokenizer.from_pretrained("uer/gpt2-chinese-cluecorpussmall")
model = GPT2LMHeadModel.from_pretrained("uer/gpt2-chinese-cluecorpussmall")
text_generator = TextGenerationPipeline(model, tokenizer)

4.功能展示

● 每隔一段时间会变化动图和文字:

在这里插入图片描述

● 点击宠物时有额外动作

在这里插入图片描述

● “故事大会”功能:跟宠物聊天,进行文本生成

在这里插入图片描述

● “休息一下”功能:隔一个小时提醒你休息功能

在这里插入图片描述

这是目前项目的所有功能拉,有兴趣的可以下载原代码进行订制属于你的桌面宠物。

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

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

相关文章

Apache Flink 任务 Tasks 和任务槽 Task Slots

目录 任务槽(Task Slots) 任务槽数量的设置 任务对任务槽的共享 任务槽和并行度的关系 任务槽(Task Slots) Flink 中每一个 worker(也就是 TaskManager)都是一个 JVM 进程,它可以启动多个独立的线程,来并…

【数据结构】详解队列和循环队列

目录一.队列1.队列的概念及结构2.队列的实现Queue.hQueue.c二.循环队列1.循环队列的实现2.设计循环队列解题思路代码一.队列 1.队列的概念及结构 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出…

四、网络层(六)移动IP

目录 6.1 移动IP的概念 6.2 移动IP的基本工作原理 6.2.1代理发现与注册 6.2.2固定主机向移动主机发送IP数据报 6.2.3移动主机向固定主机发送IP数据报 6.2.4同址转交地址(简单了解) 6.2.5三角形路由问题(简单了解) 6.1 移…

事关你“吃住行游购娱”的12项安全国标图解来了

标准是安全建设的“尺子”。近期,国家市场监督管理总局、国家标准化管理委员会发布中华人民共和国国家标准公告(2022年第13号),全国信息安全标准化技术委员会归口的14项网络安全国家标准获批发布,其中12项涉及数据安全…

不同类型单板布线策略6大类

类型一PCB布线策略 一 ,类型一主要特征如下: 严格的长度规则、严格的串扰规则、拓扑规则、差分规则、电源地规则等。 二,关键网络的处理:总线定义Class; 要求满足一定的拓扑结构、stub及其长度(时域&a…

关于模型中的R方

1、一元线性回归 R方在一元线性回归模型中,衡量【响应变量X和预测变量Y】的线性关系。 R方cor(X,Y)^2 但是,在多元线性回归模型中,因为涉及多个预测变量,全部R方就是衡量响应变量和多个预测变量当中的关系。 而有关…

阿里云张献涛:高性能计算发展的三大趋势

12 月 12-15 日,第十八届 CCF 全国高性能计算学术年会(以下简称 CCF HPC China 2022)以线上的方式举行,国内外众多知名专家学者,以及高性能计算产业界的头部企业代表云上相聚,探讨高性能计算的发展趋势。阿…

zabbix6.0安装教程(五):二进制包安装

zabbix6.0安装教程(五):二进制包安装 目录一、使用ZABBIX官方存储库二、Red Hat zabbix企业版 Linux/CentOS1. 概述2. 安装注意事项2.1 使用 Timescale DB 导入数据2.2 PHP 7.22.3 配置 SELinux3. Proxy 安装3.1 创建数据库3.2 导入数据3.3 为…

计算机网络原理第5章 运输层(12.24完结)

目录~ 5.1 运输层协议概述 5.1.1 进程之间的通信 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。 当网络的边缘部分中的两个主机使用网络的核心部分的功能进行…

再学C语言12:字符串(3)——转换说明

一、转换说明的意义 意义:把存储在计算机中的二进制格式的数值转换成一系列字符(一个字符串)以便于显示;实质上是翻译说明,并不会替代原值 应该使转换说明与要打印的值的类型相匹配 参数传递机制 float n1; double …

陈都灵现身海南国际电影节,新片《关索岭》票房有望超《阿凡达》

刚送走了厦门金鸡奖,又迎来了海南电影节,第四届国际电影节,已经在美丽的海南岛拉开帷幕。 众多的中国优秀电影人,都欢聚一堂共话未来,为中国电影的发展献言献策,也展现出电影人的精神风貌。 在本届电影节走…

WMS系统这么重要?一文教你找到理想中的WMS系统

无论是在线上还是线下,相信大家都见过各式各样的仓库,或杂乱或整洁,有的还在使用传统的纸单作业模式,有的已经进入全自动化无人作业模式。然而,随着仓储物流行业竞争愈发激烈,以及数智化转型浪潮席卷而来&a…

python中logging模块的一些简单用法

用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所以Python引入了logging模块来…

小学生C++编程基础 课程8(B)

919.3数排序 ( 课程8) 登录 920.求最小值 (课程8) 登录 921.排名 (课程8) 登录 922.中间数 ( 课程8) 难度:1 登录 923.判断闰年 (课程8) 难度:1 登录 924.天数 (课程8) 难度:1 登录 《小学生C趣味编程…

Splunk Enterprise 存在任意代码执行漏洞

漏洞描述 Splunk 是一款机器数据的引擎,可用于收集、索引和利用所有应用程序、服务器和设备生成的快速移动型计算机数据 。 Splunk 受影响版本存在任意代码执行漏洞,经过身份验证的攻击者可利用此漏洞通过创建包含恶意代码的 SimpleXML 仪表板&#xf…

说话人识别中的损失函数

损失函数 损失函数L(yi,y^i)L(y_i,\hat{y}_i)L(yi​,y^​i​)用来描述神经网络的输出y^i\hat{y}_iy^​i​和基本事实(Ground Truth,GT)yiy_iyi​的差异对于回归问题,常用均方误差(Mean Square Error,MSE&a…

IB成绩该如何换算GPA?

今天就简单介绍下IB课程分数与GPA以及英国的UCAS Tariff points的分数换算! 网传的换算方法是这样的: 以IB单科满分是7分为前提,那么把IB成绩换算成四分制的GPA的方式是:将IB课程分数除以7再乘以4。 举个例子,你某门科…

【有营养的算法笔记】从推导证明的角度深剖前缀和与差分算法

👑作者主页:进击的安度因 🏠学习社区:进击的安度因(个人社区) 📖专栏链接:有营养的算法笔记 文章目录一、一维前缀和1、算法推导2、代码实现二、二维前缀和1、算法推导2、代码实现三…

数据库范式

1 数据库范式 完全函数依赖 (Sno,Cno) —> Grade 是完全函数依赖,学号不能得出成绩,学科号也不能推出成绩。 部分函数依赖 (Sno,Cno) --> Sdept 是部分函数依赖,学号能推出院系。 传递依赖 Sno --> Sdep…

肝了十天半月,献上纯手绘“Spring/Cloud/Boot/MVC”全家桶脑图

01 纯手绘Spring思维脑图 纯手绘Spring思维脑图 1.1 基本概念 纯手绘Spring思维脑图-基本概念 事先申明:Spring/Cloud/Boot/MVC的手绘思维脑图以及详细部分解读,这边都是以截图的形式展示出来,如果需要完整的全部原件xmin思维脑图https://gi…