栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

使用java调用阿里云车牌识别API

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用java调用阿里云车牌识别API

实现车牌识别功能我采用调用阿里云车牌识别API的方法,我使用的是eclipse,jdk 1.8,Tomcat 9.0

1.进入阿里云主页先创建阿里云账号

2.在控制台的头像那里找到AccessKey管理

 

然后创建AccessKey,通过手机号验证获得Secret,记住AccessKey ID和Secret

3.在阿里云搜索框输入车牌识别,会出现文字识别,然后开通文字识别功能,地域就选择华东2上海

创建完成后点击产品文档,在文字识别栏中的车辆交通类识别找到车牌识别

 

 在文档底部找到SDK下载安装

选择自己想要的SDK语言种类,我用的是Java的,但是推荐使用Java(支持本地上上传的),因为阿里云车牌识别API是不支持本机图片路径的,需要将图片上传到OSS获取图片URL地址

可以在官方给出的地址下载aliyun-java-sdk-core和aliyun-java-sdk-ocr两个SDK包

紧接着就是进行安装配置,推荐使用Maven,但是我使用的是集成开发环境(IDE)导入JAR文件

第一个方法: 

Maven方法:

在pom.xml文件中添加Maven依赖安装Java SDK


    com.aliyun
    aliyun-java-sdk-core
    4.5.14


    com.alibaba
    fastjson
    1.2.74


    com.aliyun
    aliyun-java-sdk-imageenhan
    ${aliyun.imageenhan.version}


    com.aliyun
    aliyun-java-sdk-imagerecog
    ${aliyun.imagerecog.version}


    com.aliyun
    aliyun-java-sdk-facebody
    ${aliyun.facebody.version}


    com.aliyun
    aliyun-java-sdk-imageseg
    ${aliyun.imageseg.version}


    com.aliyun
    aliyun-java-sdk-goodstech
    ${aliyun.goodstech.version}


    com.aliyun
    aliyun-java-sdk-imageaudit
    ${aliyun.imageaudit.version}


    com.aliyun
    aliyun-java-sdk-objectdet
    ${aliyun.objectdet.version}
 

第二个方法: 

集成开发环境导入jar包方法:

将所需要的jar包直接复制在lib文件夹下,jar包可以在Maven仓库中查找下载,所需要的jar包如图所示:

jar包导好后创建一个测试类进行测试是否成功,需要改三处地方:DefaultProfile.getProfile()方法中的AccessKeyID和AccessKeySecret,以及req.setImageURL()方法中的图片URL地址,这个地址不是本机图片的地址路径,需要将图片上传到阿里云OSS

package opencvCar;

import com.aliyuncs.AcsResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.RpcAcsRequest;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.ocr.model.v20191230.RecognizeLicensePlateRequest;
import com.aliyuncs.ocr.model.v20191230.RecognizeLicensePlateResponse;
import com.aliyuncs.profile.DefaultProfile;

import com.alibaba.fastjson.JSON; 

public class CarTest {
    static IAcsClient client =null;
    public static void main(String[] args) throws Exception {
        DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "你的AccessKeyID", "你的AccessKeySecret");
        client = new DefaultAcsClient(profile);
        testRecognizeLicensePlate(); // 车牌识别
    }
    
    private static , T extends AcsResponse> T getAcsResponse(R req) throws Exception {
        try {
            return client.getAcsResponse(req);
        } catch (ServerException e) {
            // 服务端异常
            System.out.println(String.format("ServerException: errCode=%s, errMsg=%s", e.getErrCode(), e.getErrMsg()));
            throw e;
        } catch (ClientException e) {
            // 客户端错误
            System.out.println(String.format("ClientException: errCode=%s, errMsg=%s", e.getErrCode(), e.getErrMsg()));
            throw e;
        } catch (Exception e) {
            System.out.println("Exception:" + e.getMessage());
            throw e;
        }
    }
    
    public static void testRecognizeLicensePlate() throws Exception {
        System.out.println("--------  车牌识别 --------------");
        RecognizeLicensePlateRequest req = new RecognizeLicensePlateRequest();
        req.setImageURL("被测图片的URL地址,例如https://markma.oss-cn-shanghai.aliyuncs.com/car.jpg");
        RecognizeLicensePlateResponse resp = getAcsResponse(req);
        printResponse(req.getSysActionName(), resp.getRequestId(), resp);
    }

    public static void printResponse(String actionName, String requestId, AcsResponse data) {
        System.out.println(String.format("actionName=%s, requestId=%s, data=%s", actionName, requestId,JSON.toJSonString(data) ));
    }

}

 4.将图片上传到OSS获取图片URL路径

    在阿里云控制台找到对象存储OSS

 在Bucket管理创建Bucket,如果已经创建好了可以不用创建

填写Bucket名称,地域我选择的是华东2(上海) ,其它不用更改

进入创建好的Bucket进行文件上传,文件ACL选择公共读

 点击上传的文件查看图片URL地址

将URL地址复制到测试类中req.setImageURL()方法中

最后运行java测试类得到结果:

--------  车牌识别 --------------
actionName=RecognizeLicensePlate, requestId=BE48A5D1-5C1A-50D5-8865-919B5F611EE0, data={"data":{"plates":[{"confidence":0.99,"plateNumber":"浙A66666","plateType":"小型汽车","plateTypeConfidence":0.951348,"positions":[{"x":503,"y":184},{"x":504,"y":259},{"x":176,"y":262},{"x":176,"y":188}],"roi":{"h":78,"w":328,"x":176,"y":184}}]},"requestId":"BE48A5D1-5C1A-50D5-8865-919B5F611EE0"} 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/710605.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号