python大图里查找小图 python查找图片中的物体_python大图里查找小图

详解

开门见山,我直接开始了,这真的只是体验课,不值得我体验一整天的时间,我花了半小时。

基础不需要,会认字就行。软件:pycharm,py3.x/py2.x,两个都行,我用的3。需要自己有百度账号,还需要几张照片。

好的开始

浏览器打开:https://login.bce.baidu.com/登录百度账号,进入百度云管理中心

python大图里查找小图 python查找图片中的物体_百度token怎么获取_02

鼠标放在右侧产品服务-人工智能-图像识别

python大图里查找小图 python查找图片中的物体_poi文档api_03

单击跳转

python大图里查找小图 python查找图片中的物体_识别图像中的物体_04

点击创建应用

python大图里查找小图 python查找图片中的物体_python大图里查找小图_05

取名字-改类型-填描述---->立即创建---->查看应用详情

python大图里查找小图 python查找图片中的物体_poi文档api_06

看到下面这个页面

python大图里查找小图 python查找图片中的物体_识别图像中的物体_07

然后浏览器新建一个标签打开:http://ai.baidu.com/docs#/ImageClassify-API/top如下

python大图里查找小图 python查找图片中的物体_poi文档api_08

右侧点击调用方式,找到这里,点击python,新建一个ak.py文件,复制下面代码运行。

这里注意了,官方文档上用的python2.x,如果你的电脑上安装的是python2.x,直接复制,如果安装的python3.x,则复制我的代码

python大图里查找小图 python查找图片中的物体_poi中文api_09

获取access_token代码:

import urllib.request# client_id 为官网获取的AK, client_secret 为官网获取的SKhost = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&c' \'lient_id=【api——key】&client_secret=【secret——key】'request = urllib.request.urlopen(host)content =request.read()if (content): print(content)




注意这里的两对中文字符中括号这两个key在之前的应用详情页面里:如下

python大图里查找小图 python查找图片中的物体_识别图像中的物体_10

将其值分别复制覆盖中括号,运行,得到如下信息

b'{"refresh_token":"25.281c3054a294085d32032b800e31c3b6.315360000.1868709707.282335-
15832577","expires_in":2592000,"session_key":"9mzdAvbmBCQaKrsI1V77Wzskkd
VS4vCi+c2B0ktXcLwQSWsabRfrg2g7xV062+RlqGCaHfewIsCN4N6W8KzLKQM\\/
UR3aeQ==","access_token":"24.940a5c7bfa47aae5f6d4628a574a0c56.2592000.15
55941707.282335-15832577","scope":"public vis-classify_dishes vis-classify_car
brain_all_scope vis-classify_animal vis-classify_plant brain_object_detect
brain_realtime_logo brain_dish_detect brain_car_detect brain_animal_classify
brain_plant_classify brain_ingredient brain_advanced_general_classify
brain_custom_dish brain_poi_recognize wise_adapt lebo_resource_base
lightservice_public hetu_basic lightcms_map_poi kaidian_kaidian
ApsMisTest_Test\\u6743\\u9650 vis-classify_flower lpq_\\u5f00\\u653e
cop_helloScope ApsMis_fangdi_permission smartapp_snsapi_base iop_autocar
oauth_tp_app smartapp_smart_game_openapi oauth_sessionkey
smartapp_swanid_verify
smartapp_opensource_openapi","session_secret":"37423f4b3990798d7bc75a3268
035d9b"}\n'




在这堆信息里找到:"access_token":"24.940a5c7bfa47aae5f6d4628a574a0c56.2592000.15 55941707.282335-15832577"将值复制,得到access_token。

然后返回刚才的api文档:找到请求示例:

python大图里查找小图 python查找图片中的物体_百度token怎么获取_11

同样,新建一个ppppp.py文件,py2.x的同学直接复制,py3.x的复制我的代码:

# encoding:utf-8import base64import requestsimport urllib.requestimport urllib.parse'''
通用物体和场景识别
'''request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general"# 二进制方式打开图片文件f = open('【图片】', 'rb')img = base64.b64encode(f.read())params = {"image":img,}params = urllib.parse.urlencode(params)header={'Content-Type':'application/x-www-form-urlencoded'}access_token = "【前面复制的access_token】"request_url = request_url + "?access_token=" + access_tokenrequest = requests.post(url=request_url, data=params, headers=header)content = request.textif content: print(content)




一样的把你的图片地址复制到中括号图片位置覆盖,把上一个ak.py得到的access_token放到access_token覆盖。然后运行。我放的这张:之前爬下来的海报

python大图里查找小图 python查找图片中的物体_识别图像中的物体_12

得到如下信息:

{"log_id": 2683289035348183863, "result_num": 5, "result": [{"score": 0.918134,"root": "", "keyword": "肖申克的救赎 The Shawshank Redemption"}, {"score":0.719475, "root": "公众人物", "keyword": "摩根·弗里曼"}, {"score": 0.436844, "root":"非自然图像-屏幕截图", "keyword": "屏幕截图"}, {"score": 0.312865, "root": "公众人物", "keyword": "蒂姆·罗宾斯"}, {"score": 0.053432, "root": "非自然图像-彩色动漫","keyword": "卡通动漫人物"}]}




可见,百度ai图像识别很厉害!

好了,非常简单,没有基础都可以,其他的借口:语言,人脸,只要是上面给的借口,你都能拿来直接用,只要你能根据他给出的示例代码做相应的修改就行。