【Opencv实战】刷爆朋友圈的特效“人物动漫化”是什么鬼?今天教你涨姿势—网友狂喜:我要学习,不许拦我

前言

【Opencv实战】刷爆朋友圈的特效“人物动漫化”是什么鬼?今天教你涨姿势—网友狂喜:我要学习,不许拦我_第1张图片

前几天玩抖音,发现一个人像动漫化的操作,觉得很好玩儿。我心想:python既然这么强大,是不

是也可以使用python程序来实现这样一个操作呢?

哈哈!我自己当然是没有这个本事编写这样一个牛逼的程序出来,但是百度可以呀,并且还很好

用。百度AI开放平台给我们提供了完整的接口,甚至贴心的将代码都给我们写好了。这些接口还支

持很多主流语言都呢,像Java、Python、PHP、C#等,我们做的就是直接调用它即可。效果怎么

样呢?我们先来看看下方的对比图吧。

效果展示:

第一组咖啡女仆——

原图——

【Opencv实战】刷爆朋友圈的特效“人物动漫化”是什么鬼?今天教你涨姿势—网友狂喜:我要学习,不许拦我_第2张图片

 效果图——

【Opencv实战】刷爆朋友圈的特效“人物动漫化”是什么鬼?今天教你涨姿势—网友狂喜:我要学习,不许拦我_第3张图片

 咳咳咳......五个脸有的还是挺正常的,有的就歪了!

第二组古风美女——

原图——

【Opencv实战】刷爆朋友圈的特效“人物动漫化”是什么鬼?今天教你涨姿势—网友狂喜:我要学习,不许拦我_第4张图片

效果图——

【Opencv实战】刷爆朋友圈的特效“人物动漫化”是什么鬼?今天教你涨姿势—网友狂喜:我要学习,不许拦我_第5张图片

 啊......西湖的水 我的泪......这张图动漫化的超级完美尤其是那个手部,除了脸一切都好!!!

第三组真人cos——

原图——效果图——大家选择图片动漫化的话 慎重点儿哈~有的挺好,有的还是挺丑的!哈哈哈

【Opencv实战】刷爆朋友圈的特效“人物动漫化”是什么鬼?今天教你涨姿势—网友狂喜:我要学习,不许拦我_第6张图片

【Opencv实战】刷爆朋友圈的特效“人物动漫化”是什么鬼?今天教你涨姿势—网友狂喜:我要学习,不许拦我_第7张图片

代码展示:

import requests, base64
# 这个函数的操作是为了获取access_token参数
def get_access_token():
    url = 'https://aip.baidubce.com/oauth/2.0/token'
    data = {
        'grant_type': 'client_credentials',  # 固定值
        'client_id': '3j8EWb6rgg..SPY2X693LBy',  # 在开放平台注册后所建应用的API Key
        'client_secret': 'Px9KZuU0Gl...jTKktoCopnIWEiF57gf'  # 所建应用的Secret Key
    }
    res = requests.post(url, data=data)
    res = res.json()
    #print(res)
    access_token = res['access_token']
    return access_token
    
# 下面的代码就是API文档中的代码,直接搬过来使用即可。
request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime"
f = open('zhao.jpg', 'rb')       # 二进制方式打开图片文件
img = base64.b64encode(f.read()) # 图像转为base64的格式,这是百度API文档中要求的

params = {"image":img}
access_token = '24.11731cd1f0...9f9b3a930f917f3681b.2592000.1596894747.282335-21221990'
request_url = request_url + "?access_token=" + get_access_token()
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
res = response.json()
# 前面我们讲述了这个请求返回的是一个字典,其中一个键就是image,代表的是处理后的图像信息。
# 将这个图像信息写入,得到最终的效果图。
if res:
    f = open("kouzhao4.jpg", 'wb')
    after_img = res['image']
    after_img = base64.b64decode(after_img)
    f.write(after_img)
    f.close()

注意:寻找 API Key 和 Secret Key首先登陆百度智能云的网址。

百度智能云

https://login.bce.baidu.com/

【Opencv实战】刷爆朋友圈的特效“人物动漫化”是什么鬼?今天教你涨姿势—网友狂喜:我要学习,不许拦我_第8张图片

小结

大家代码有问题或者需要完整的素材项目啥的记得来找我的哈~欢迎大家!

完整的素材等:滴滴我吖!

还有更多更多源码等你来领区啦!

文章汇总——

汇总: Python文章合集 | (入门到实战、游戏、Turtle、案例等)

【Opencv实战】刷爆朋友圈的特效“人物动漫化”是什么鬼?今天教你涨姿势—网友狂喜:我要学习,不许拦我_第9张图片

你可能感兴趣的:(Python,人工智能,小程序,opencv,人工智能,动漫化,人物图像,漫画)