《Python自动化》学习笔记:百度云智能实现黑白图片上色,人物动漫化(代码干货)

基本要求

要注册百度的账号,并且创建应用,方法如下:

百度智能云新手入门教程:https://cloud.baidu.com/doc/OCR/s/dk3iqnq51

目的是为了获得API_Key和Sercet_Key,并在后面有相关的应用。

人像动漫化

人像动漫化使用方法

# encoding:utf-8
# 利用百度云智能的资源进行人物动漫化操作
import requests
import base64
from tkinter import filedialog,Tk
import os

def open_path():
    root = Tk()
    root.withdraw()
    file_path = (filedialog.askopenfilename(title='选择图片文件', filetypes=[('All Files', '*')]))
    return file_path

def Get_acess_token(API_Key,Secret_Key):#获取acess_token
    host = r'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + API_Key + '&client_secret=' + Secret_Key
    response = requests.get(host)
    if response:
        text = response.json()
        print('access_token:' + text['access_token'])
        print('Access Token的有效期(秒为单位,有效期30天):' + str(text['expires_in']))
        return text['access_token']
    else:
        print(r'检查到鉴权认证失败,请参见文档:https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu')

def Get_Commic_image(IDcardAdress,savePath,acess_token):
    request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime"
    f = open(IDcardAdress,'rb')
    img = base64.b64encode(f.read())
    headers = {'content-type': 'application/x-www-form-urlencoded'}
    params = {'image':img,'type':'anime_mask'}
    request_url = request_url +  "?access_token=" + acess_token
    response = requests.post(request_url,data=params,headers = headers)
    if response:
        imageEncode = response.json()['image']
        image = base64.b64decode(imageEncode)
        image_result = open(savePath,'wb')
        image_result.write(image)
    else:
        print('请检查网络!')


if __name__ == '__main__':
    API_Key = input('请输入API_Key:\n')
    Secret_Key = input('请输入Secret_Key:\n')
    acess_token = Get_acess_token(API_Key, Secret_Key)
    IDcardAdress = open_path()  
    savePath = 'example.jpg' 
    Get_Commic_image(IDcardAdress,savePath,acess_token)

结果:
在这里插入图片描述
在这里插入图片描述
虽然看起来怪怪的,但似乎只是下巴看起来怪怪的。

黑白图像彩色化

# encoding:utf-8
# 利用百度云智能的资源进行人物彩色化操作
import requests
import base64
from tkinter import filedialog,Tk
import os

def open_path():
    root = Tk()
    root.withdraw()
    file_path = (filedialog.askopenfilename(title='选择图片文件', filetypes=[('All Files', '*')]))
    return file_path

def Get_acess_token(API_Key,Secret_Key):#获取acess_token
    host = r'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + API_Key + '&client_secret=' + Secret_Key
    response = requests.get(host)
    if response:
        text = response.json()
        print('access_token:' + text['access_token'])
        print('Access Token的有效期(秒为单位,有效期30天):' + str(text['expires_in']))
        return text['access_token']
    else:
        print(r'检查到鉴权认证失败,请参见文档:https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu')

def Get_Color_image(IDcardAdress,savePath,acess_token):
    request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/colourize"
    f = open(IDcardAdress,'rb')
    img = base64.b64encode(f.read())
    headers = {'content-type': 'application/x-www-form-urlencoded'}
    params = {'image':img}
    request_url = request_url +  "?access_token=" + acess_token
    response = requests.post(request_url,data=params,headers = headers)
    if response:
        imageEncode = response.json()['image']
        image = base64.b64decode(imageEncode)
        image_result = open(savePath,'wb')
        image_result.write(image)
    else:
        print('请检查网络!')


if __name__ == '__main__':
    API_Key = input('请输入API_Key:\n')
    Secret_Key = input('请输入Secret_Key:\n')
    acess_token = Get_acess_token(API_Key, Secret_Key)
    IDcardAdress = open_path()   #input('请输入图像路径:\n')# C:\Users\pc\Desktop\123.jpeg
    savePath = 'example.jpg' #input('请输入存储路径:\n') # C:\Users\pc\Desktop\Animate_123.jpeg
    Get_Color_image(IDcardAdress,savePath,acess_token)

在这里插入图片描述
在这里插入图片描述
对赫本的上色效果还是很不错的。

在这里插入图片描述
在这里插入图片描述
这么一看导师和慈父似乎更加真实了!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值