import os
import requests
import ybc_config
import sys
from ybc_exception import *
__PREFIX = ybc_config.config['prefix']
__CAR_URL = __PREFIX + ybc_config.uri + '/carRecognition'
__TOP_NUM = 3
def car_recognition(filename='', topNum=__TOP_NUM):
"""
功能:识别一个车辆图片的车型。
参数 filename 是当前目录下期望被识别的图片名字,
可选参数 topNum 是识别结果的数量,范围是 1 - 10,默认为 3,
返回:识别出的车型信息。
"""
error_flag = 1
error_msg = ""
if not isinstance(filename, str):
error_flag = -1
error_msg += "'filename'"
if not isinstance(topNum, int):
if error_flag == -1:
error_msg += "、'topNum'"
else:
error_flag = -1
error_msg += "'topNum'"
if error_flag == -1:
raise ParameterTypeError(sys._getframe().f_code.co_name, error_msg)
if not filename:
error_flag = -1
error_msg += "'filename'"
if topNum < 1 or topNum > 10:
if error_flag == -1:
error_msg += "、'topNum'"
else:
error_flag = -1
error_msg += "'topNum'"
if error_flag == -1:
raise ParameterValueError(sys._getframe().f_code.co_name, error_msg)
try:
ybc_config.resize_if_too_large(filename)
url = __CAR_URL
filepath = os.path.abspath(filename)
fo = open(filepath, 'rb')
files = {
'file': fo
}
data = {
'topNum': topNum
}
for i in range(3):
r = requests.post(url, files=files, data=data)
if r.status_code == 200:
res = r.json()
# 识别不到车辆时也有该字段返回,返回结果为 "非车类"
if res['result']:
fo.close()
return res['result'][0]['name']
fo.close()
raise ConnectionError('识别车辆图片失败', r._content)
except (ParameterValueError, ParameterTypeError) as e:
raise e
except Exception as e:
raise InternalError(e, 'ybc_imgcar')
def main():
print(car_recognition('test.jpg'))
if __name__ == '__main__':
main()
PyPI 官网下载 | ybc_imgcar-1.0.8.tar.gz
版权申诉
36 浏览量
2022-02-02
11:23:23
上传
评论
收藏 223KB GZ 举报
挣扎的蓝藻
- 粉丝: 13w+
- 资源: 15万+
最新资源
- python开心麻花影视作品分析程序+源码.zip
- pythonExcel数据分析师程序+源码.zip
- PlatformUI.jar 支持RCP控件环境插件
- VB+ACCESS大型机房学生上机管理系统(源代码+系统).zip
- 基于BP神经网络的回归分析,基于优化动量因子的BP神经网络,基于优化学习率的BP神经网络,基于优化隐藏层神经元的bp神经网络
- python读取excel数据Python-file-reading-master.zip
- STC15单片机串口2使用程序例子
- 读取日志的excel生成周报 用python3开发weekplan-master.zip
- python 读取excel数据导入dbimport-data-master.zip
- K折交叉验证BP神经网络,多输入多输出BP神经网络(代码完整,数据齐全)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈