Android 识别车牌信息

打开我们心爱的Android Studio

导入需要的资源

gradle

java 复制代码
//开源车牌识别安卓SDK库
    implementation("com.github.HyperInspire:hyperlpr3-android-sdk:1.0.3")
java 复制代码
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();
            }
        });
相关推荐
/**书香门第*/5 天前
Cocos Creator 3.8 配置如何直接运行白包到模拟器
安卓·cocos creator·白包
iReachers13 天前
Termux:把安卓手机变成随身的命令行工具箱
python·安卓·termux·命令行·实用工具
木白CPP14 天前
Vold Bugs(二)---U盘不识别(onVolumeChecking 返回错误码 -5)
安卓
木白CPP21 天前
SELinux 介绍和基本使用
嵌入式硬件·安卓·安全架构
物极必反102425 天前
QT使用FFMpeg编译安卓程序.md
qt·ffmpeg·安卓
程序员-珍25 天前
关于协程相关问题
android·安卓
MarkZhou6241 个月前
智能蒸烤双核通信架构拆解:从冗余耦合到分层解耦
stm32·单片机·嵌入式硬件·架构·安卓·安全架构
北京自在科技1 个月前
谷歌 Find Hub 迎来新版本更新
android·安卓
爱和冰阔落1 个月前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓
爱和冰阔落1 个月前
【Linux】手写日志与固定线程池:任务队列、工作线程和安全退出
linux·运维·c++·redis·安卓