欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python用百度云接口实现黑白图片上色

程序员文章站 2022-03-10 15:48:10
...

python可以通过python+Opencv来实现很多图片变换之类的工作,因为OpenCV库的功能可以说是相当强大,很多功能都可以完成。但是实现起来需要自己造*,所以很费时间和精力,我们可以直接学会调用百度AI智能平台的接口来实现许多有用的功能,今天来介绍其中一种——python用百度云接口实现黑白图片上色

图像变换的接口:https://ai.baidu.com/ai-doc/IMAGEPROCESS/ck3bclu2u

新建AipImageProcess
AipImageProcess是图像增强与特效的Python SDK客户端,为使用图像增强与特效的开发人员提供了一系列的交互方法。

参考如下代码新建一个AipImageProcess:

from aip import AipImageProcess

""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'

client = AipImageProcess(APP_ID, API_KEY, SECRET_KEY)

在上面代码中,常量APP_ID在百度云控制台中创建,常量API_KEY与SECRET_KEY是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。

如何创建应用可以参考另一篇文章:
https://blog.csdn.net/weixin_46530492/article/details/108437468
黑白图片上色的固定框架:

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用黑白图像上色 """
client.colourize(image);

返回范例:

{
    "log_id":739539874,
    "image":"base64str"
}

根据上述固定框架和返回范例,犯了几次错误之后写出了如下代码:

#python百度ai的黑白图片上色代码
from aip import AipImageProcess
from PIL import Image
import base64

# 定义常量
APP_ID = '22580981' #你百度帐号上的APP_ID
API_KEY = 'xFINsVIt9Wq1PlU4m5MpGlou' #你百度帐号上的API_KEY
SECRET_KEY = 'xxxxxxxx'#你百度帐号上的SECRET_KEY

# 初始化AipImageProgress对象
client = AipImageProcess(APP_ID, API_KEY, SECRET_KEY)

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('C:/Users/lenovo/Pictures/yangtu1.jpg')#将左侧括号内yangtu1.jpg替换为待识别的图片路径

print(type(image))
""" 调用图片识别 """
result=client.colourize(image);#主函数

img=base64.b64decode(result['image'])#image对象是base64的字符串类型,需要解码成bytes类型
file=open('one.jpg','wb')
file.write(img)
file.close()

im=Image.open('one.jpg') #PIL库的Image类型可以打开图片
im.show()

示例:
python用百度云接口实现黑白图片上色
python用百度云接口实现黑白图片上色
python用百度云接口实现黑白图片上色
python用百度云接口实现黑白图片上色
完美实现~~

更多有趣的实例可以关注我的专栏~~
python调用百度云接口实例