[AI创造营]Wechaty实用小工具—证件照助手

项目地址:
https://aistudio.baidu.com/aistudio/projectdetail/2253862

你是否苦恼于没有条件将证件照换背景色 或是只有大头照。或是只有某种底色,要换其他底色,请使用它~ 那么请使用它~ 它就是你的证件照小助手 (为了可玩性更高、所以不仅限于证件照)

话不多说

先搞个token再说

http://pad-local.com

1 配置服务器

我这里是搞了一台腾讯云的centos7.6的云服务器,其他也都一样的。
在终端中依次粘贴入下列命令即可:
(部分人可能自己搭建的有项目,8080端口存在被占用,随便换个808X端口就行了)

$ yum install docker$ docker pull docker.io/wechaty/wechaty$ export WECHATY_LOG="verbose"$ export WECHATY_PUPPET="wechaty-puppet-wechat"$ export WECHATY_PUPPET_SERVER_PORT="8080"$ export WECHATY_TOKEN="puppet_padlocal_xxxxxx" # 这里输入你自己的token$ docker run -ti --name wechaty_puppet_service_token_gateway --rm -e WECHATY_LOG -e WECHATY_PUPPET -e WECHATY_TOKEN -e WECHATY_PUPPET_SERVER_PORT -p "$WECHATY_PUPPET_SERVER_PORT:$WECHATY_PUPPET_SERVER_PORT" docker.io/wechaty/wechaty:latest

上述执行完成之后,在浏览器网址中输入你自己的地址:(换成自己的token)
https://api.chatie.io/v0/hosties/puppet_padlocal_xxxxxxxx
出现如下的字符即为成功!
{“host”:“xxx.xxx.xxx.xxx”,“ip”:“xxx.xxx.xxx.xx”,“port”:8080}

2 登录二维码

在终端中出现如下的online链接,在浏览器中复制后打开,即可看到二维码,进行扫描登录即可!

3 本地安装wechaty环境

aistudio无法开放端口,需要自行本地实现或者搭在服务器上

项目仅为部分核心代码

# 0.8.15版本不太好使 切勿踩坑
!pip install wechaty==0.8.11

4 项目功能实现

项目主题为证件照生成,但为了功能不那么单一,也提供了其他api的功能

如:情话、藏头诗、对联、天气查询

4.1 证件照生成

采用paddlehub的人脸识别和人像分割得到图片

再进行换底!

# 证件照生成函数
def makeZjz(img):pic_path = imgface_landmark = hub.Module(name="face_landmark_localization")human_seg = hub.Module(name="deeplabv3p_xception65_humanseg")rate = 1.3thresh = 2# 人脸识别result = face_landmark.keypoint_detection(paths=[pic_path])face = np.array(result[0]['data'][0], dtype=np.int64)# 剪裁left = face[:, 0].min()right = face[:, 0].max()w = right - leftcw = int((right + left) / 2)upper = face[:, 1].min()lower = face[:, 1].max()h = lower - upperch = int((lower + upper) / 2)h = int(413 * w / 295)box = (cw - rate * w, ch - rate * h, cw + rate * w, ch + rate * h)img = Image.open(pic_path)img = img.crop(box)img = img.resize((295, 413), Image.ANTIALIAS)result = human_seg.segmentation(images=[cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR)],use_gpu=False,visualization=True,output_dir='humanseg_output')path = result[0]["save_path"]print("humanseg path:",path)# 上色for pic in ["red.png","blue.png","white.png"]:# 获取图片,方便后面的代码调用frame = Image.open(pic)# 给图片指定色彩显示格式logo = Image.open(path)logo = logo.convert("RGBA")frame.paste(logo, (0, 20), mask=logo)# 保存图片frame.save("result/final_"+pic)print("结果:result/final_"+pic)

4.2 情话 藏头诗 对联

# Paddlehub文本模型
text_model1 = hub.Module(name='ernie_gen_lover_words')     # 情话模型
text_model2 = hub.Module(name="ernie_gen_acrostic_poetry", line=4, word=7)   # 藏头诗模型
text_model3 = hub.Module(name="ernie_gen_couplet")   # 获取对联下句def chat_bot(content, mode):res = ''if mode == '0':res = get_content(content)# print(res)elif mode == '1':# 清话res = text_model1.generate(texts=[content], use_gpu=False, beam_width=1)if res is None:returnres = res[0][0]# print(res)elif mode == '2':#藏头诗res = text_model2.generate(texts=[content], use_gpu=False, beam_width=1)if res is None:returnres = res[0][0]elif mode == '3':#对联res = text_model3.generate(texts=[content], use_gpu=False, beam_width=1)out = []res = res[0][0]return res

4.3 地域天气

# 获取城市天气
def get_weather_data(city_name):weatherJsonUrl = "http://wthrcdn.etouch.cn/weather_mini?city={}".format(city_name)  # 将链接定义为一个字符串response = requests.get(weatherJsonUrl)  # 获取并下载页面,其内容会保存在respons.text成员变量里面response.raise_for_status()  # 这句代码的意思如果请求失败的话就会抛出异常,请求正常就上面也不会做# 将json文件格式导入成python的格式weather_dict = json.loads(response.text)# print(weather_dict)if weather_dict['desc'] == 'invilad-citykey':weather_info = '请输入正确的城市名!'else:forecast = weather_dict.get('data').get('forecast')city = '城市:' + weather_dict.get('data').get('city') + '\n'date = '日期:' + forecast[0].get('date') + '\n'type = '天气:' + forecast[0].get('type') + '\n'wendu = '温度:' + weather_dict.get('data').get('wendu') + '℃ ' + '\n'high = '高温:' + forecast[0].get('high') + '\n'low = '低温:' + forecast[0].get('low') + '\n'ganmao = '感冒提示:' + weather_dict.get('data').get('ganmao') + '\n'fengxiang = '风向:' + forecast[0].get('fengxiang')weather_info = city + date + type + wendu + high + low + ganmao + fengxiangreturn weather_info

参考项目

不仅限于以下项目:

【AI创造营+七夕特辑】七夕孤寡机器人

一步一步教你用wechaty+百度云主机打造一个带你穿越星际的微信机器人

总结

本人: iterhui

致谢:

感谢团队成员的各类建议和合作配合

感谢参考项目的各位大佬帮助

感谢积极帮助解决问题的各路大佬

最后感谢主办方的机会和精良的活动~~~

[AI创造营]Wechaty实用小工具---证件照助手相关推荐

  1. [AI创造营]Wechaty实用小工具---九宫图爱心生成器~

    [AI创造营]Wechaty实用小工具-九宫图爱心生成器~ 项目地址: https://aistudio.baidu.com/aistudio/projectdetail/2300569 背景 跟随抖 ...

  2. 【AI创造营】鬼畜小视频

    鬼畜小视频 AiStuido地址:[AI创造营]星爷:焦了诶,emmmm GitHub: -AI-emmmm BiliBili视频地址:星爷:焦了.菩提老祖:emmm~ 这里使用的PaddleGan的 ...

  3. Metaverse启动机之重构现世,AI创造营创意赛开启

    ibrandup @shadow 听说最近又有好玩的竞赛啦? Metaverse启动机 2021.7.9 AI创造营 创意赛正式发布 近日,由百度大脑AI Studio平台发布,PaddlePaddl ...

  4. 【AI创造营】基于PaddleHub与Jetson Nano的智能宠物看护助手

    基于PaddleHub与Jetson Nano的智能宠物看护助手 一.效果展示 二.实现思路 1.训练一个适用于该需求的模型 2.使用PaddleHub预训练模型 三.数据采集 硬件部分 代码部分 四 ...

  5. AI创造营来了!万元奖金、Switch等你来拿...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 朋友,看青你和创了吗? 牛年最先牛起来的无疑是这两档选秀节目,100多位小哥哥轮番上阵,每个观众都能pick ...

  6. Python爬取《创造营2020》小姐姐数据并用腾讯云人脸识别做颜值评分

    最近 创造营2020好多小姐姐吸引到我了,于是就有这这个 颜值100分的小姐姐高达21位 比如前段时间抖音很火的 凡凡 以下是代码,需要你在申请腾讯云有关参数替换哦 # -*- coding: utf ...

  7. Python爬取《创造营2020》小姐姐数据用腾讯云人脸识别做颜值评分

    最近 创造营2020好多小姐姐吸引到我了,于是就有这这个 颜值100分的小姐姐高达21位比如前段时间抖音很火的 凡凡 以下是代码,需要你在申请腾讯云有关参数替换哦 # -*- coding: utf- ...

  8. 【AI创造营】决战二仙桥

    参赛作品名 [AI创造营]决战二仙桥(DodgeFace-EXQver) 作品简介 和前作DodgeFace操作方式一样,内部使用的技术换了:之前是ace2p,如果电脑配置不好的话,可能跑起来非常的卡 ...

  9. 程职场人必备微软出品的实用小工具

    系统增强工具PowerToys 下载地址:https://github.com/microsoft/PowerToys 什么是 Windows 系统中,最好的辅助工具? PowerToys 一定可以获 ...

最新文章

  1. 总结 | 2020年TOP 10计算机视觉论文:代码,解读,还有demo视频!
  2. 《统计学习方法》读书笔记(1)---学习的要素
  3. Spring(IOC+AOP)
  4. pythonargmaxaxis1_keras.argmax中axis = -1的含义是什么?
  5. 大数据之Kafka入门简介
  6. 北交计算机学硕培养计划,北京交通大学硕士研究生培养方案——交通信息工程及控制...
  7. Centos7中安装zookeeper3.7.0_找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeer---zookeeper工作笔记003
  8. layui循环遍历数据_Layui之动态循环遍历出的富文本编辑器显示
  9. anaconda配置python_interpreter报错_MAC系统下SublimeText3 Python环境配置参考
  10. Jmeter高阶学习,运用NotePad++编写工程,随意复制多个工程到同一个工程
  11. springboot中的注解-EnableConfigurationProperties
  12. android感应不了夜神模拟器,夜神模拟器使用(检测不到)
  13. Android陀螺仪加速度传感器
  14. 中国互联网二十年回忆
  15. 面试积累——嵌入式软件工程师面试题(非常经典)
  16. 【报告分享】2022年快手品牌号运营策略手册-磁力引擎(附下载)
  17. Scratch软件编程等级考试一级——20200913
  18. 基于spring mvc+bootstrap 集成的返利平台 新增内容-自动对接京东数据
  19. 熟悉RealView MDK集成开发环境(Keil uVision4)的使用
  20. Java—求绝对值(选择结构)

热门文章

  1. 嵌入式linux/android alsa_aplay alsa_amixer命令行用法
  2. 最新出炉!教材javaweb程序开发
  3. java-使用ffemg插件截取rtsp视频流实现视频录制(海康相机)
  4. vue中获取外网IP的方法
  5. [VirtualBox][Wireshark]如何在虚拟机ubuntu系统中使用Wireshark
  6. 看完这些书,办公软件从小白到大师
  7. 浅谈一下Type-C接口发展历程
  8. 【英语语法入门】 第18讲 There-Here be 句型
  9. ROS中 Python/C++ 键盘按键监听事件
  10. Wavecom 短信猫 发送短信设置