当前位置: 首页 > article >正文

Android 识别车牌信息

打开我们心爱的Android Studio
在这里插入图片描述
导入需要的资源

在这里插入图片描述
gradle

//开源车牌识别安卓SDK库
    implementation("com.github.HyperInspire:hyperlpr3-android-sdk:1.0.3")
button.setOnClickListener(v -> {
            Log.d("Test", "");
            try (InputStream file = getAssets().open("lp1.jpg")) {
                Bitmap lpImg = BitmapFactory.decodeStream(file);
                Bitmap showImg = null;

                if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                    showImg = Bitmap.createBitmap(lpImg.getWidth(), lpImg.getHeight(), Bitmap.Config.RGB_565, false);
                }

                if (showImg != null) {

                    canvas.setBitmap(showImg);
//                绘制画笔
                    Paint paint = new Paint();
                    paint.setStrokeWidth(2);//设置画笔宽为2
                    paint.setARGB(255, 255, 0, 0);
                    paint.setStyle(Paint.Style.STROKE);
//                绘制画笔到画布上
                    canvas.drawBitmap(lpImg, 0, 0, new Paint());
                    Plate[] plates = HyperLPR3.getInstance().plateRecognition(lpImg, HyperLPR3.CAMERA_ROTATION_0, HyperLPR3.STREAM_BGRA);
//                    自定义字符串内容
                    StringBuilder builder = new StringBuilder();
                    for (int i = 0; i < plates.length; i++) {
                        Plate plate = plates[i];

                        canvas.drawRect(plate.getX1(), plate.getY1(), plate.getX2(), plate.getY2(), paint);

                        builder.append('第').append(i+1).append("车牌").append("\n");
                     builder.append("车牌内容").append(plate.getCode()).append("\n");
                    }
                    img.setImageBitmap(showImg);
                    text.setText(builder.toString());
                }
            } catch (IOException e) {
                Toast.makeText(this, "图像加载失败了", Toast.LENGTH_SHORT).show();
            }
        });

在这里插入图片描述


http://www.kler.cn/a/234210.html

相关文章:

  • 【C#设计模式(4)——构建者模式(Builder Pattern)】
  • Database Advantages (数据库系统的优点)
  • 【Java语言】String类
  • 如何使用 Web Scraper API 高效采集 Facebook 用户帖子信息
  • STM32问题集
  • win11 新建一个批处理,双击查看本机的IP地址
  • Rust 格式化输出
  • TestNG基础教程
  • fast.ai 机器学习笔记(二)
  • JVM-类加载器 双亲委派机制
  • 项目02《游戏-13-开发》Unity3D
  • 在 Windows上恢复删除照片的 4 种有效方法
  • 初步探索Pyglet库:打造轻量级多媒体与游戏开发利器
  • 多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测
  • hexo 博客搭建以及踩雷总结
  • 面向对象编程:理解其核心概念与应用
  • linux上部署ftp服务
  • MongoDB聚合:$replaceWith
  • visual studio和cmake如何编译dlib库
  • 深入了解 MySQL 数值型函数
  • Linux文本三剑客(2)
  • 【前后端的那些事】2万字详解WebRTC + 入门demo代码解析
  • 发送get请求并且发送请求头(header),java实现
  • linux系统非关系型数据库redis
  • re:从0开始的CSS学习之路 10. 盒子模型的溢出
  • Python OCR 之旅:PaddleOCR 与 pytesseract 比较及应用