python|图像识别



pytesseract 识别图片找到对应文字坐标 py识别图像_API

时下我们不得不承认,科技的发展对现代生活有着决定性的影响。令人喜忧参半的是,科技变化之快,让我们几乎无法跟上其脚步,更不用说预测未来了。影响力之大和最吸引人的技术就是图像识别,图像识别技术是人工智能的一个重要领域,它是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术。今天以女神宋慧乔的两张不同照片为例,利用python识别其相似度,从而判定是否是同一人,同时让我们对图像识别有个初步的了解,什么?照片可以换苍老师和波老师吗?我怀疑你们在开车,可是我没有证据!


准备工作:

1、开发环境:windows   pycharm

2、需要导入标准库:json base64  requests

3、备注: base64是计算机数据格式模块(用来做数据传输)

RECOMMEND推荐阅读0

1

导入标准库或模块

import json
import base64
import requests

pytesseract 识别图片找到对应文字坐标 py识别图像_API_02

0

2

分别读取两张图片的数据 (随意自行下载两张图片)

with open("1.jpg", "rb") as f:
    pic1 = f.read()
with open("2.jpg", "rb") as f:
    pic2 = f.read()

pytesseract 识别图片找到对应文字坐标 py识别图像_python 图像识别_03

0

3

整合两张图片json数据(r表示读; b二进制)

image_data = json.dumps(
    [
        {"image": str(base64.b64encode(pic1), "utf-8"), "image_type": "BASE64", "face_type": "LIVE", "quality_control": "LOW"},
        {"image": str(base64.b64encode(pic2), "utf-8"), "image_type": "BASE64", "face_type": "IDCARD", "quality_control": "LOW"},
    ]
)

备注:quality_control 控制台类型     IDCARD证件照   LIVE生活照

上面的代码为固定格式,其中face_type类型可随意选LIVE或 IDCARD

pytesseract 识别图片找到对应文字坐标 py识别图像_相似度_04

0

4

拼接API接口:此接口属于商用是花钱买的, 第二个链接中access_token=需要的数据 要从第一个链接中获取

get_token = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=lVfov6E1oaWZR9f4qIhd9Hjy&client_secret=Gubrc6RnMTdA3Eb8WumHIGrz4vHgCTdy"
API_url = "https://aip.baidubce.com/rest/2.0/face/v3/match?access_token="

pytesseract 识别图片找到对应文字坐标 py识别图像_API_05

0

5

导入requests库发送post请求,并赋值给text

text = requests.get(get_token).text

pytesseract 识别图片找到对应文字坐标 py识别图像_json_06

0

6

将json数据转化成python数据  用键值对取值的方法获取access_token的值,并重新赋值给access_token

access_token = json.loads(text)['access_token']

pytesseract 识别图片找到对应文字坐标 py识别图像_json_07

0

7

拼接API接口完成

url = API_url + access_token

pytesseract 识别图片找到对应文字坐标 py识别图像_python 图像识别_08

0

8

请求API接口传入图片数据,返回图片相似度

response = requests.post(url, image_data)

pytesseract 识别图片找到对应文字坐标 py识别图像_json_09

0

9

获取相似度数值,并赋值给score

score = json.loads(response.text)['result']['score']

pytesseract 识别图片找到对应文字坐标 py识别图像_相似度_10

0

10

根据相似度,如果相似度大于90,则判断是同一个人,否则不是
if score > 90:
    print("图片相似度为:%s, 同一个人" % score)
else:
    print("图片相似度为:%s, 不是同一个人" % score)

pytesseract 识别图片找到对应文字坐标 py识别图像_json_11

0

11

右键运行代码,获取结果,任务完成

pytesseract 识别图片找到对应文字坐标 py识别图像_json_12

0

12

想自行测试的小伙伴,这里有完整代码,希望可以帮到你!

pytesseract 识别图片找到对应文字坐标 py识别图像_python 图像识别_13