目录
- 1. 作者介绍
- 2. 算法介绍
- 2.1 腾讯云介绍
- 2.2 API介绍
- 3. 调用腾讯智能云实现车辆信息识别
- 3.1 准备工作
- 3.2 完整代码
- 3.3 结果分析
1. 作者介绍
汤明乐,男,西安工程大学电子信息学院,2023级研究生
研究方向:机器视觉与人工智能
电子邮件:2992077699@qq.com
黄浩磊,男,西安工程大学电子信息学院,2023级研究生,张宏伟人工智能课题组
研究方向:智能视觉检测与工业自动化技术
电子邮件:hhl57303@163.com
2. 算法介绍
2.1 腾讯云介绍
腾讯智能云是腾讯云面向AI时代推出的战略级产品线,旨在通过“AI即服务”模式,将腾讯在计算机视觉、智能语音识别、自然语言处理等前沿AI技术能力开放给广大企业和开发者。自2017年腾讯云+未来峰会首次发布以来,智能云持续进化,提供包括但不限于图 像识别、语音合成与识别、文本分析理解等在内的25项以上人工智能服务。
腾讯智能云不仅服务于互联网行业,更深入政务、金融、教育、医疗等多个领域,助力企业智能化升级。其产品如智能编辑、腾讯智影等,已在影视制作、内容修复等方面展现显著效果,体现了腾讯智能云强大的技术实力与行业应用能力。此外,腾讯云智能数智人技术更是引领企业服务智慧升级,通过创建有智能、可交互的虚拟形象,为用户带来创新的数智化体验。
2.2 API介绍
API(应用程序编程接口)是软件开发中的关键组件,它定义了不同应用程序之间如何沟通与互动的规则和标准。如同数字世界的桥梁,API允许数据和功能在系统间安全、高效地流动。无论是Web API基于HTTP协议促进网页服务的数据交换,还是操作系统API让程序能够访问底层功能,API都封装复杂性,为开发者提供简单直接的接口。这使得开发人员无需深入了解系统内部构造,就能快速集成第三方服务、获取数据、执行特定任务,极大地提升了开发效率和应用的灵活性。API的设计强调一致性、可靠性和安全性,确保在各种场景下都能稳定工作,同时保护用户数据安全。
3. 调用腾讯智能云实现车辆信息识别
3.1 准备工作
- 创建自己的密钥,这里一定要保存好自己的密钥和ID
- 在搜索栏里面找到车辆识别的接口
- 这里有车辆识别具体需要的参数和示例,注意这里的输入参数需要图片的url或者图片经过base64编码
我们可以注册一个imgur账号可以把需要的图片上传到网址上以便下载,也可以用base64编码进行图片的调用。imgur上传图片如下:
鼠标下滑即可找到此张图片的url
- 准备工作做好,可以开始调试
这里的imageurl就是imgur生成的网址,发起调用
- 调用结果
可以清晰的看出这里的调用结果已经显示出车辆的具体信息与实际图片上面的信息相一致。 - 代码示例
这里的imageurl就是生成图片的网址
可以稍微修改以下代码示例提供图片的base64编码也可,但是两个都提供的话 则imagerul是一级,base64二级。
将imageurl注释掉用imagebase64编码也可,如图
3.2 完整代码
import json
import types
import base64
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.tiia.v20190529 import tiia_client, models
try:
# 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
# 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
# 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
cred = credential.Credential("ID", "KEY")
# 实例化一个http选项,可选的,没有特殊需求可以跳过
httpProfile = HttpProfile()
httpProfile.endpoint = "tiia.tencentcloudapi.com"
# 实例化一个client选项,可选的,没有特殊需求可以跳过
clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile
# 实例化要请求产品的client对象,clientProfile是可选的
client = tiia_client.TiiaClient(cred, "ap-beijing", clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
with open("R-C.jpg", "rb") as image_file:
encoded_string = base64.b64encode(image_file.read()).decode('utf-8')
req = models.RecognizeCarProRequest()
params = {
# "ImageUrl":"https://www.imgur.la/images/2024/05/24/OIP-C-2.th.jpg" ,
"ImageBase64": encoded_string
}
req.from_json_string(json.dumps(params))
# 返回的resp是一个RecognizeCarProResponse的实例,与请求对象对应
resp = client.RecognizeCarPro(req)
# 输出json格式的字符串回包
print(resp.to_json_string())
except TencentCloudSDKException as err:
print(err)
3.3 结果分析
可以精准标出车辆在图片上面的位置信息,也可以识别车辆的车牌,车型等等。