创建图像识别应用

下载python sdk

将下载的sdk解压复制到项目中,sdk文件夹名重命名。

image-20210313114613924

import requests

from aipython.aip import *
import os

# 创建本地文件路径
os.makedirs('./image/', exist_ok=True)


# AipImageClassify
# AipImageClassify是图像识别的Python SDK客户端,为使用图像识别的开发人员提供了一系列的交互方法。
""" 你的 APPID AK SK """
APP_ID = '你的 app_id'
API_KEY = '你的xxx'
SECRET_KEY = '你的xxx'

client = AipImageClassify(APP_ID, API_KEY, SECRET_KEY)
#
# 配置AipFace
# 如果用户需要配置AipFace的网络请求参数(一般不需要配置),可以在构造AipFace之后调用接口设置参数,目前只支持以下参数:
#
# 接口 说明
# setConnectionTimeoutInMillis 建立连接的超时时间(单位:毫秒
# setSocketTimeoutInMillis 通过打开的连接传输数据的超时时间(单位:毫秒)


# 通用物体识别
""" 读取图片 """

# def get_file_content(filePath):
# with open(filePath, 'rb') as fp:
# return fp.read()
#
#
# image = get_file_content('example.jpg')
#
# """ 调用通用物体识别 """
# client.advancedGeneral(image)
#
# """ 如果有可选参数 """
# options = {}
# options["baike_num"] = 5
#
# """ 带参数调用通用物体识别 """
# client.advancedGeneral(image, options)

# 植物识别
""" 下载网络图片 """


url = "https://th.bing.com/th/id/R343d5d04a339c3ee5837cb16ab2dd911?rik=XouakWpnxMH4kg&riu=http%3a%2f%2fg.hiphotos.baidu.com%2fzhidao%2fwh%253D600%252C800%2fsign%3d0382c861912397ddd62c900269b29e8f%2f562c11dfa9ec8a13059da666f703918fa1ecc0b5.jpg&ehk=wXT7QNMEQCFZB5P1eB5zFX6mftTsdEbZ7gPjnt%2bGBL4%3d&risl=&pid=ImgRaw"

def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()


def get_net_file_content(url):
r = requests.get(url)
with open('./image/img2.png', 'wb') as f:
f.write(r.content)
return r.content


image = get_net_file_content(url)

""" 调用植物识别 """
# client.plantDetect(image)

""" 如果有可选参数 """
options = {}
options["baike_num"] = 5

""" 带参数调用植物识别 """
result = client.plantDetect(image, options)
# print(result)
# print(result['result'])

for item in result['result']:
for key in item:
print(" {}:{} ".format(key, item[key]))

# image 是 string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
# baike_num 否 string 0 返回百科信息的结果数,默认不返回

# 返回json数据格式
# log_id uint64 是 唯一的log id,用于问题定位
# result arrry(object) 是 植物识别结果数组
# +name string 是 植物名称,示例:吉娃莲
# +score uint32 是 置信度,示例:0.5321
# +baike_info object 否 对应识别结果的百科词条名称
# ++baike_url string 否 对应识别结果百度百科页面链接
# ++image_url string 否 对应识别结果百科图片链接
# ++description string 否 对应识别结果百科内容描述

# {
# "log_id": 1705495792822072357,
# "result": [{
# "score": 0.99979120492935,
# "name": "莲",
# "baike_info": {
# "baike_url": "http://baike.baidu.com/item/%E8%8E%B2/2717141",
# "description": "莲(Nelumbo nucifera),又称荷、荷花、莲花、芙蕖、鞭蓉、水芙蓉、水芝、水芸、水旦、水华等,溪客、玉环是其雅称,未开
# 的花蕾称菡萏,已开的花朵称鞭蕖,莲科,属多年生水生宿根草本植物,其地下茎称藕,能食用,叶入药,莲子为上乘补品,花可供观赏。是我国十大名花之一。
# 是印度的国花。莲,双子叶植物,睡莲科。多年生挺水草本植物。根状茎横走,粗而肥厚,节间膨大,内有纵横通气孔道,节部缢缩。叶基生,挺出水面,盾形,
# 直径30-90cm,波状边缘,上面深绿色,下面浅绿色。叶柄有小刺,长1-2m,挺出水面。花单生,直径10-25cm,椭圆花瓣多数,白色或粉红色;花柄长1-2m。
# 花托在果期膨大,直径5-10cm,海绵质。坚果椭圆形和卵圆形,长1.5-2.0cm,灰褐色。种子卵圆形,长1.2-1.7cm,种皮红棕色。生于池塘、浅湖泊及稻田中。
# 中国南北各省有自生或栽培,经济价值高。人们习惯上称种子为“莲子”、地下茎为“藕”、花托为“莲蓬”、叶为“荷叶”。"
# }
# },
# {
# "score": 0.00015144718054216,
# "name": "红睡莲"
# },
# {
# "score": 1.2172759852547e-05,
# "name": "白睡莲"
# },
# {
# "score": 6.305016540864e-06,
# "name": "延药睡莲"
# },
# {
# "score": 3.6133328649157e-06,
# "name": "华夏慈姑"
# }]
# }

更多接口查看 官方文档