OpenEvaluation V1.1车牌评测平台(试用版) |
|
时间:2016-09-09 | |
一.平台简介 车牌评测平台(网址:http://www.openits.cn/plateevaluate/)是一个评估车牌识别软件功能和性能的平台,可以详细的统计出被测软件的车牌错误定位率、车牌粗定位率、车牌准确定位率、汉字识别率、字母识别率、数字识别率、整牌识别率、颜色识别率等评测指标,从而找出被测软件的优点、缺点,帮助被测软件有针对性的进行改进。 该平台免费提供给车牌识别软件厂商使用,按照下面给出的接口修改方法修改被测车牌识别软件的接口参数,从该平台的服务器上下载图片到本地进行测试,并将测试结果返回平台,测试结束后平台对测试结果进行分析,并给出分析结果。图1是车牌评测平台使用方法流程图。 图1 车牌评测平台使用方法流程图 二.接口说明2.1协议格式{ jsonrpc": "2.0", --指定JSON-RPC协议版本的字符串 "method": "mehod", --需要调用的方法名 "params": {},--参数 "id": 1 --已建立客户端的唯一标识id } 2.2服务器和端口号该车牌评测平台hostname-ip: 113.107.6.184 port 端口号:80 api接口地址: http://113.107.6.184:80/plateevaluate/connAlgo, 第三方软件向服务器发送请求的格式为("hostname-ip", port , "api", parametrs) parametrs按如下格式 {\"jsonrpc\":\"2.0\",\"method\":\"algoTest\",\"params\":{\"testNo\":\"KmTF\"},\"id\":1} 2.3方法调用步骤2.3.1开始测试开始测试首先调用的函数是algoTestStar,获取测试编号,其参数格式如表1 表1 开始测试函数 ![]() 方法调用示例 char res1[4096] = {0}; char parm1T[4096] = {0}; char* parm1= "{\"jsonrpc\":\"2.0\",\"method\":\"algoTestStar\",\"params\":{\"algoNo\":\"BU6647\",\"user\":\"zhgg\",\"testName\":\"方纬科技\",\"type\":\"渝牌\"},\"id\": 1}" intnBufferSize = MultiByteToWideChar(CP_OEMCP, 0, (LPCSTR)parm1, -1, NULL, 0); wchar_t *pBuffer1 = newwchar_t[nBufferSize + 1]; memset(pBuffer1, 0, (nBufferSize + 1) * sizeof(wchar_t)); MultiByteToWideChar(CP_OEMCP, 0, (LPCSTR)parm1, -1, pBuffer1, nBufferSize * sizeof(wchar_t)); DWORD dwNum = WideCharToMultiByte(CP_UTF8, NULL, pBuffer1, -1, NULL, 0, NULL, FALSE); WideCharToMultiByte(CP_UTF8, NULL, pBuffer1, -1, parm1T, dwNum, NULL, FALSE); int code1 = request("113.107.6.184",80, "http://113.107.6.184:80/plateevaluate/connAlgo", parm1T, res1); 2.3.2获取测试图片获取测试图片调用函数algoTest,参数如表2,调用成功返回一张图片和图片编号,失败返回error code 表2 获取测试图片函数 方法调用示例 char parm2[4096] = {0}; strcat(parm2,"{\"jsonrpc\":\"2.0\",\"method\":\"algoTest\",\"params\":{\"testNo\":\""); strcat(parm2, testID); strcat(parm2, "\"},\"id\":1}"); char res2[4096] = {0}; int code2 = request("113.107.6.184",80, "http://113.107.6.184:80/plateevaluate/connAlgo",parm2, res2); 2.3.3保存识别结果获取一张图片函数saveTestResult将保存一次测试结果,该函数的参数如表3。 表3 识别结果保存函数 方法调用示例 stringresOut = "{\"jsonrpc\":\"2.0\",\"method\":\"saveTestResult\",\"params\": {\"imgid\":\""; resOut += imgID; resOut += "\","; resOut += res; resOut += ",\"testno\":\""; resOut += testID; resOut += "\"}, \"id\": 1}"; request("113.107.6.184",80, "http://113.107.6.184:80/plateevaluate/connAlgo", parm3, res3); 注:res是第三方软件识别的结果,包括"poit":"1","color":"red","tpye":"123","carplate":"123",这些识别结果。 2.3.4结束测试同一类型车牌测试完后,调用测试结束函数algoTestEnd,接下来可以测试其他类型的车牌,该函数的参数如表4。 表4 测试结束函数 方法调用示例 strcat(parm0, "{\"jsonrpc\": \"2.0\",\"method\":\"algoTestEnd\",\"params\": {\"testNo\":\""); strcat(parm0, testID); strcat(parm0, "\"}, \"id\": 1}"); request("113.107.6.184",80, "http://113.107.6.184:80/plateevaluate/connAlgo", parm0, res0); 三.测试并查询结果3.1车牌识别软件测试车牌识别软件在测试时必须使用平台的车牌库,该平台的车牌库类型如表5,在3.3.1中的type参数选用表1中的车牌类型 表5 车牌类型 ![]() 3.2结果查询在算法管理中点击算法编号,链接到测试表展示,如图2,表中显示了该算法编号下的所有测试记录 图2 测试记录 选择图2中的测试编号,得到该测试编号的分析结果,如图3,包括车牌错误定位率、车牌粗定位率、车牌准确定位率、汉字识别率、字母识别率、数字识别率、整牌识别率、颜色识别率、各个汉字识别率、数字错误识别、字母错误识别、测试编号。其中数字错误识别、字母错误识别列举了识别错误的数字和汉字 图3 分析结果 点击图3中的测试编号,链接到该测试编号下的统计结果柱状图,如图4。 图4 统计结果柱状图 选择菜单中的车牌识别结果表,输入测试编号,点击查询,界面会显示该测试编号下的所有识别结果,如图5,包括图片的编号、车牌左上角右下角的像素坐标、识别颜色、类型、识别车牌号、测试编号。 图5车牌识别结果表
|
|
![]() |
|
![]() |
|
注 :下载数据后解压时请使用除winRAR以外的解压工具进行解压 |