美文网首页
调用阿里接口——node.js识别车牌号

调用阿里接口——node.js识别车牌号

作者: 无题syl | 来源:发表于2020-04-09 19:35 被阅读0次

    完成图片识别

    OCR上传银行卡/身份证号/车牌号等等

    阿里云:OCR框架  手机美颜/直播啊都是调的接口

    上传带有车牌号的图片,自动识别出图片中的车牌号

    接口的获取

    打开阿里云/百度云/自己喜欢的云服务,本人是在阿里云购买的免费接口

    搜索OCR,找到可以识别的车牌号的接口,然后可以购买免费版本

    购买后如下图所示:

    购买成功得到上述图片,其中Appkey/AppSecret是我们需要的

    在购买服务的下方:

    点击上方:

    API简单身份认证调用方法(APPCODE)

    滑到签名认证

    点击登录API网关控制台

    右侧栏的调用API,已授权的sdk,有node.js版

    在编译器中:

    新建空项目不需要初始化

    在此项目的终端打开

    npm install aliyun-api-gateway  express -s

    (不需要下载body-parser)

    Express作为后端

    当输入图片的base64参数太时,加上:

    app.use(bodyParser.json({limit:'50mb'}));加上这个限制

    var urlencodedParser=bodyParser.urlencoded({extended:false,limit:'50mb'});

    代码:

    index.js中:

    ```

    let express=require('express');

    let app=express();

    var bodyParser=require('body-parser');

    //var jsonParser=bodyParser.json();

    app.use(bodyParser.json({limit:'50mb'}));

    var urlencodedParser=bodyParser.urlencoded({extended:false,limit:'50mb'});

    app.use(urlencodedParser);

    const Client =require('aliyun-api-gateway').Client;

    const client =new Client('你的AppKey','你的AppSecret');

    app.all("*",function(req,res,next){

    //设置允许跨域的域名,*代表允许任意域名跨域

        res.header("Access-Control-Allow-Origin","*");

    //允许的header类型

        res.header("Access-Control-Allow-Headers","content-type");

    //跨域允许的请求方式

        res.header("Access-Control-Allow-Methods","DELETE,PUT,POST,GET,OPTIONS");

    if(req.method.toLowerCase()=='options')

    res.send(200);//让options请求快速结束

        else

            next();

    });

    app.post('/getCarId',async (req,res)=>{

    //res.send('成功');

      console.log(req.body.img);

    var url ='https://vin.market.alicloudapi.com/api/predict/ocr_vin';//为接口的地址

    //try{

        var result =await client.post(url, {

    data: {

    //有车牌号的图片base64代码/url地址

                'image': req.body.img

            },

    headers: {

    accept:'application/json'

            }

    });

    // }catch (e) {

    //    res.send(e);

    // }

    //console.log(JSON.stringify(result));

        res.send(result);

    });

    app.listen(9999);

    ```

    getCarId.html中:

    ````

    <!DOCTYPE html>

    <html lang="en">

    <head>

    <meta charset="UTF-8">

    <title>识别车牌号</title>

    </head>

    <body>

    <div class="container">

    <input type="file" class="file">

    <div>

    <img src="" id="img" alt="" style="width:200px;height:200px">

    <input type="text" name="" id="type">

    <input type="text" name="" id="no">

    </div>

    </div>

    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>

    <script>

    //监听文本框事件

        $('.file').on('change',function(){

    //console.log(this.files[0]);

    //图片file类型转base64

            let reader=new FileReader();

    reader.readAsDataURL(this.files[0]);

    //回调函数

            reader.onload=(res)=>{

    $('#img').attr('src',reader.result);

    let base64=reader.result.substring(reader.result.indexOf(',')+1);

    //console.log(base64);

                $.post('http://localhost:9999/getCarId',{img:base64},data=>{

    console.log(data);

    })

    }

    })

    </script>

    </body>

    </html>

    ````

    结果:

    相关文章

      网友评论

          本文标题:调用阿里接口——node.js识别车牌号

          本文链接:https://www.haomeiwen.com/subject/gpsqmhtx.html