通过python我实现了照片转化为动漫模式,媳妇儿再也不用愁没有好看的头像了~

​ 最近某音上的动漫特效特别火,很多人都玩着动漫肖像,我媳妇儿也不例外。看着她这么喜欢这个特效,我决定做一个图片处理工具,这样媳妇儿的动漫头像就有着落了。
编码
为了快速实现我们的目标,我们就不自己写图片处理程序了,我们直接调用百度AI开放平台提供的接口实现我们的需求。

编码

这一次我们导入如下两个库

# -*- coding:utf-8 -*-
#author:菜鸟小白的学习分享
import requests, base64

我们需要进行百度AI开放平台的接口认证,代码如下:

# -*- coding:utf-8 -*-
#author:菜鸟小白的学习分享
# 百度AI开放平台鉴权函数
def get_access_token():url = 'https://aip.baidubce.com/oauth/2.0/token'data = {'grant_type': 'client_credentials',  # 固定值'client_id': 'A3ppUrgl6H*******NjDN4Bb',  # 在开放平台注册后所建应用的API Key'client_secret': 'SqaeFpiPPC**********H1lsb0xO3w'  # 所建应用的Secret Key}res = requests.post(url, data=data)res = res.json()access_token = res['access_token']return access_token

因为百度AI平台提供了多种图像处理方式,请求URL主体都相同,但是传参不同,所以我们需要对不同的处理方式进行参数处理,代码如下:

# -*- coding:utf-8 -*-
#author:菜鸟小白的学习分享
def get_config():img_before = input("请输入当前文件夹下需要处理的图片名称:")process_action = ['','selfie_anime','colourize','style_trans']print("支持以下处理动作:\n1:为人像动漫化\n2:图像上色\n3:为图像风格化")# 处理动作: selfie_anime 为人像动漫化,colourize 图像上色,style_trans 为图像风格化i = int(input("请输入需要处理的动作:"))"""cartoon:卡通画风格pencil:铅笔风格color_pencil:彩色铅笔画风格warm:彩色糖块油画风格wave:神奈川冲浪里油画风格lavender:薰衣草油画风格mononoke:奇异油画风格scream:呐喊油画风格gothic:哥特油画风格"""others = ['','cartoon','pencil','color_pencil','warm','wave','lavender','mononoke','scream','gothic']j = 0if process_action[i] == 'style_trans':print("支持转化的风格有:\n\1:卡通画风格\n\2:铅笔风格\n\3:彩色铅笔画风格\n\4:彩色糖块油画风格\n\5:神奈川冲浪里油画风格\n\6:薰衣草油画风格\n\7:奇异油画风格\n\8:呐喊油画风格\n\9:哥特油画风格\n")j = int(input("请输入需要转化的风格类型(数字):"))return img_before,process_action[i],others[j]

我们获取到图片和处理参数之后,就拿着这些信息去请求百度AI开放平台了

# -*- coding:utf-8 -*-
#author:菜鸟小白的学习分享
def image_process(img_before, img_after, how_to_deal,others):# 函数的三个参数,一个是转化前的文件名,一个是转化后的文件名,均在同一目录下,第三个是图像处理能力选择request_url = 'https://aip.baidubce.com/rest/2.0/image-process/v1/' + how_to_deal
​file = open(img_before, 'rb')  # 二进制读取图片origin_img = base64.b64encode(file.read())  # 将图片进行base64编码headers = {'Content-Type': 'application/x-www-form-urlencoded'}data = {'access_token': get_access_token(),'image': origin_img,'option': others}
​res = requests.post(request_url, data=data, headers=headers)res = res.json()if res:f = open(img_after, 'wb')after_img = res['image']after_img = base64.b64decode(after_img)f.write(after_img)f.close()

最后,我们再把主函数调用写一下

# -*- coding:utf-8 -*-
#author:菜鸟小白的学习分享
if __name__ == '__main__':# 选择输入信息img_before, process_action, others = get_config()img_after = img_before.split('.')  # 将原文件名分成列表img_after = img_after[0] + '_1.' + img_after[1]  # 新生成的文件名为原文件名上加 _1image_process(img_before, img_after, process_action,others)print('done!')

实现效果

原始图片:
原始图片
卡通化的转化效果:
卡通化的转化效果
铅笔风格转换效果:
铅笔风格转换效果
彩铅风格转换效果:
彩铅风格转换效果
其它效果就由小伙伴们自行实验吧,时间太晚了,我就不一一尝试了。

程序获取

考虑到有的小伙伴还没有python环境也想体验工具效果,我把也代码打包成了可执行程序,关注公众号“菜鸟小白的学习分享”回复“图片处理程序”即可获取。
有兴趣自己研究的小伙伴想要获取源码的话,关注公众号“菜鸟小白的学习分享”回复“图片处理源码”即可获取。

如果你也认可菜鸟小白的学习分享的话,请给我一个在看、点赞、关注+赞赏,因为有你们,所以我一直在努力。

推荐阅读:
教你搭建微信公众号自动答复机器人

媳妇儿让我给她找一个PDF转word免费工具,找了半天我决定给她写一个出来-

python使用cx_Oracle库连接oracle服务器

用python批量处理Excel表格,处理结果又快又好,做办公室最靓的那个仔

关注微信公众号——菜鸟小白的学习分享
妈妈再也不用担心我找不到路了
在这里插入图片描述

一个人的学习——孤单
一群人的学习——幸福

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

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

相关文章

将照片转换成漫画风格的API推荐

这段时间休息的时候发现了一个很有意思的API——将照片转换成漫画风格API,是在 APISpace 这个接口服务平台发现的。它里面的很多接口都非常的好用,使用起来也很方便,所有的接口都可以提供免费的试用,有需要的同学可以去看看~ 效果…

APISpace 将照片转化成漫画风格API

APISpace 的 将照片转化成漫画风格API,会自动为你将照片转换成漫画风格,无须使用Photoshop 等图片编辑软件、无须任何技术基础。输入图片的url,即可得到漫画风格的图片。 APISpace 上面还多各种各样的API,包括常见的短信、物流、…

Photo2Cartoon,照片图片批量转漫画

当你宅在家里冲浪,当你和驴友出行,当你打开自己的相册。。。。有没有想过让自己的照片换个样子。照片转漫画是一个不错的idea,换个角度欣赏会获得更多的意想不到,不是吗?试试看! 首先,进入“图…

ACC编程应用挑战赛决赛真题

目录 哈喽 真题 题目一——圈地盘 题目二——门票 题目三——免单挑战 题目四——逃脱 题目五——一夫当关 题目六——游乐场 最后 哈喽 Hello!昨天是六一儿童节,可在雅安接连发生了6.1、4.3级地震。我在成都,虽然我没感觉到,但我们…

北师大计算机学院保研,北师大信息科学与技术学院保研-北京师范大学信息科学与技术学院保研推荐免试研究生方法...

109梁竞月北京大学电子信息科学类(电子、微电子、计算机软件与理论86.00硕士 110林武桃武汉大学信息安全计算机软件与理论90.00硕士 111刘沛东北京大学电子信息科学类计算机软件与理论88.00硕士 112骆宇冲北京大学电子信息科学类计算机软件与理论83.00硕士 113蒙力北京大学电子…

【DFS专题训练】踏青 C++程序题 连通块问题

题目描述 小白和他的朋友周末相约去召唤师峡谷踏青。他们发现召唤师峡谷的地图是由一块一块格子组成的,有的格子上是草丛,有的是空地。草丛通过上下左右 4 个方向扩展其他草丛形成一片草地,任何一片草地中的格子都是草丛,并且所有…

JavaScript内置对象

JavaScript内置对象 1.什么是对象? JavaScript中的所有事物都是对象,如字符串、数值、数组、函数等,每个对象带有属性和方法。 对象的属性:反映该对象某些特定的性质的,如:字符串的长度、图像的长度等。…

这个2684亿交易额里你贡献了多少?

戳蓝字“CSDN云计算”关注我们哦! 你们的朋友圈被天猫的双十一交易额刷屏了吗? 1 今天一大早醒来,按照往常翻了一下朋友圈,朋友圈都在晒天猫的双十一成交额,大家纷纷讨论你为这个交易额贡献了多少,小编表示…

你必须得知道的人工智能领域的大师与大事

http://blog.itpub.net/29829936/viewspace-2647055/ 2019-06-06 15:50:22 小西:小迪小迪,我发现人工智能发展史上很多事情都跟下棋有关呐。 小迪:是啊,人工智能发展史还是要从下棋说起,棋类游戏很多时候都被人类看做…

老实人的归国与失身

作者:匿名作者 声明:故事情节均为虚构,请勿对号入座。如有雷同,纯属巧合。本文作者不认同文中部分行为,读者切勿模仿。 2008年8月,在东部某沿海高考大省的省会城市,两位15岁男生小西和小东进入…

Zookeeper(动物园管理员)为什么需要他?分布式协调系统

需求推动事物的前进,所有相关技术都是在某些需求的驱动下才孕育而出,而且不断的为了满足需求,不得不进一步加强完善,上来就说zookeeper是啥,作用是啥,干了什么,是开源的分布式应用协调系统”bla…

[附源码]JSP+ssm计算机毕业设计小西商店的设计与开发8yd00【源码、数据库、LW、部署】

项目运行 项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&#xf…

【小西】优化生日品同步网易严选功能,使其支持多SPU对多SKU关系

目录 前言思路代码实现实体ThemeActivityGift:spuId由 String类型变为JSONArrayThemeActivityGiftServiceImpl改造handleYxGiftByOperation:保存的是严选的生日品checkSpuIds:校验SPU有效性checkSpuIdExist:校验单个spuId是否存在…

【小西】通过商品渠道新增咪咕埋点功能,ThreadUtil.execAsync()线程异步

前言 通过商品渠道新增咪咕埋点功能:当用户通过小西访问了咪咕相关的商品时,需要把这访问记录下来,发送给咪咕方。 实现 打算在咪咕商品api里写实现逻辑。因为小西是访问的第三方接口,可能会出现一些不可控因素,如&…

【小西】同步咪咕订单给咪咕方(写接口给第三方)

同步咪咕订单给咪咕方 前言思路实现1、定义请求体和响应信息MiGuOrderSyncReqMiGuOrderSyncResp 2、nacos定义好咪咕相关配置信息3、同步咪咕参数配置4、MiGuOrderSyncControl5、MiGuOrderSyncService6、MiGuOrderSyncServiceImplCreateAscIISignUtil 生成参数 字典排序 签名Hm…

【小西】优化若依导出功能,若依继承导出

前言 现需求是在原有的导出功能基础上,新增两列。 实现 因为新增两列不是数据库表中字段。因此,需要需要建立一个VO类。 原本想用若依继承导出,如下所示: Data public class ThemeActivityUserVO extends ThemeActivityUser…

极光尔沃A6-3d打印机体验

第一次使用3d打印机来打印模件,打印的是机械臂夹爪部位的小零件,设计的效果图如下图1所示。 图1:设计的夹爪部位原图 1、模件的设计 本模件使用的是solidworks软件进行的设计,当然可以使用其他的软件设计。最终保存的时候要以.st…

微信小游戏开发新手教程1-人人都能做游戏

如果你正在阅读这篇文章,那么你就是我所说的“人人”了。在此我默认你符合如下的几个条件: 有一定的阅读理解能力对做游戏有一定的兴趣(否则你为什么要看这篇文章呢)有一台电脑(做游戏至少需要一台电脑) …

一起用Go做一个小游戏(下)

打包资源 使用file2byteslice包我们可以将图片和config.json文件打包进二进制程序中,之后编译生成一个二进制程序。然后拷贝这一个文件即可,不用再拷贝图片和其他配置文件了。 golang有很多第三方包可以将打包资源,原理其实很简单——读取资源…

chatgpt赋能python:Python简单小游戏制作教程——让你学会编写游戏代码

Python简单小游戏制作教程——让你学会编写游戏代码 Python是一种高级编程语言,越来越受欢迎,因为它易于学习和使用,而且灵活性非常高。在这篇文章中,我们将教你如何用Python编写一个简单的小游戏。让我们开始吧! 需…