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调用百度云接口实例