最近想要做一个自己独一无二的桌面宠物,可以直接使用python来自己订制。属于一个小项目,这个教程主要包含几个步骤:
准备步骤
1 | 准备需要的动图素材 |
|---|---|
2 | 规划自己需要的功能 |
3 | 使用python的PyQt5订制功能 |
在这个教程中,我主要实现了桌面宠物的几个功能:
1 | 每隔一段时间切换动图素材+文字 |
|---|---|
2 | 点击宠物时有额外动作 |
3 | “故事大会”功能:跟宠物聊天,进行文本生成 |
4 | “休息一下”功能:隔一个小时提醒你休息功能 |
主要参考文章:
https://mp.weixin.qq.com/s/EXEcVKXjq4Rj5dodRAyKS
话不多说,让我们开始把。
准备需要的动图素材
这些素材你可以直接从网上下载找到,比如可以去动图素材网站:
https://www.soogif.com/

搜索我要的动图“皮卡丘”,下载之后就需要对素材的背景去掉,设置成透明状态。
去除动图背景
这里可以利用PS(也可以使用网页版PS)工具,对动图去除背景。首先把动图导入到PS中,得到如下所示:

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

然后利用魔棒工具

框选背景图,进行删除:

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

python环境安装
这次功能上,还额外调用了hugging face模块中的文本生成功能,因此需要安装:
pip install huggingface项目工程

这里具体介绍怎么使用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) 功能展示




这是目前项目的所有功能拉,有兴趣的可以下载原代码进行订制属于你的桌面宠物。
这是项目地址:
https://github.com/llq20133100095/DeskTopPet
也可以公众号回复:宠物,获取具体项目代码
我是leo,我们下期再见~