前言
人工智能的领域非常广,如指纹识别、人脸识别、图像场景识别、文字识别、视网膜识别、虹膜识别、自动规划、智能搜索、博弈、智能控制等。许多人对人工智能有着浓厚的兴趣,如果不是专业团队,想要开发出人工智能的项目不太容易,那么如何用简单快捷的方法获取这些功能呢?Python
拥有强大的人工智能库,本期我们来调用百度 API 进行图像识别。
下面我们开始行动吧~~~
一、百度智能云的使用
1.首先搜索百度智能云,注册并登录。
2.在左侧栏的总览中找到 “人工智能”,点击 “图像识别” 进入图像识别管理中心。
3.我们可以看到调用量限制点击创建应用,在创建应用的界面,输入应用名称和描述即可立即创建。
4.创建完毕应用列表中会新增一条数据,将 AppID、API Key 和 Secret Key 复制下来,方便以后直接调用。点击左侧列表的 “SDK 下载”。
二、SDK 参考和使用
1.进入 “SDK 资源” 百度大脑 AI 开放平台页面,找到 “Python SDK”,点击 “使用说明” 。
2.在 “快速入门” 中根据相关说明,在 cmd 中执行 pip install baidu-aip 此命令安装 baidu-aip 库,然后创建新的 py (如:myapp.py ),将参考代码直接复制到 myapp.py 中,并把刚刚创建应用中的 AppID、API Key和 Secret Key 粘贴到相应位置完成 API 接口对接。
pip install baidu-aip
3.点击 “接口说明”,参考相关代码并粘贴到 myapp.py 尾部,找一张 jpg 图片并命名为 example.jpg 放当前目录完成接口调用。
三、运行代码
1.写好代码后直接运行代码,会发现输出框没有出现结果,将 “带参数调用通用物体识别” 的代码打印出来。这样,调用百度 API 进行图像识别就完成啦!是不是很简单呢?
""" 带参数调用通用物体识别 """
res = client.advancedGeneral(image, options)
print (res)
四、基本代码展示
from aip import AipBodyAnalysis, AipImageClassify
import re, os
# 调用人体识别 SDK
def maskdata(image):
"""是否佩戴口罩数据分析"""
APP_ID = '你的 APPID '
API_KEY = '你的 AK '
SECRET_KEY = '你的 SK '
client = AipBodyAnalysis(APP_ID, API_KEY, SECRET_KEY)
core(client,image)
# 调用图像识别 SDK
def picdata(image):
""" 图像识别 """
APP_ID = '你的 APPID '
API_KEY = '你的 AK '
SECRET_KEY = '你的 SK '
client = AipImageClassify(APP_ID, API_KEY, SECRET_KEY)
get_msg_by_image(client,image)
# 调用图像识别结果
def get_msg_by_image(client,image):
options = {'baike_num': 5}
options["baike_num"] = 5
res = client.advancedGeneral(image, options=options)
a = res['result']
# print(a)
print('\033[1;33m\n----------------------\n图像识别结果:\n----------------------')
i = 0
for b in a:
try:
i += 1
print('\n第', str(i), '行', b['root'], b['baike_info']['description'])
except Exception as e:
i -= 1
pass
print('----------------------\n>>>共识别', str(i), '行数据<<<')
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
# 单个图片测试
# def mask():
# url = input('\033[0;33m\n请输入图片名称 (回车退出) : ')
# if url == "":
# print('\n--------程序结束--------')
# else:
# try:
# image = get_file_content(url + '.jpg')
# maskdata(image)
# except:
# print('\n未找到该图片!')
# mask()
# 传入人体识别参数
def mask(url):
image = get_file_content(url)
maskdata(image)
# 调用人体识别结果
def core(client,image):
try:
""" 带参数调用人体检测与属性识别 """
a = str(client.bodyAttr(image))
res = re.findall("[\u4e00-\u9fa5]+",a)
data = '''是否带口罩:'''+res[4]
print('\033[0;33m\n--------口罩识别--------\n')
if data == '是否带口罩:戴口罩':
print('\033[0;33m' + data)
else:
print('\033[0;31m' + data)
except:
print('\033[0;31m无法识别是否戴口罩!\033[0;33m')
picdata(image)
# 启动主程序
if __name__ == '__main__':
url = input("输入文件目录完整路径: ")
g = os.walk(url)
for path, d, filelist in g:
for filename in filelist:
if filename.endswith('jpg'):
url = os.path.join(url,filename)
print('\n\033[0;30m>>>正在识别', url, '图片<<<\033[0;33m')
mask(url)
学习 Tornado Web Server 搭建 python 服务器,
结合 myapp.py,就可以让你的网站实现图像识别小功能啦~~~快去试试吧!