Update Android Demo

This commit is contained in:
tunmx
2023-03-06 15:42:46 +08:00
parent e679fe8727
commit 649588fb0c
7 changed files with 96 additions and 51 deletions
@@ -1,8 +1,6 @@
package com.hyperai.hyperlpr_sdk_demo;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.hardware.Camera;
import android.os.Handler;
@@ -20,11 +18,10 @@ import android.view.WindowManager;
import org.greenrobot.eventbus.EventBus;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.hyperai.hyperlpr3.HyperLPR3;
import com.hyperai.hyperlpr3.bean.Parameter;
import com.hyperai.hyperlpr3.bean.HyperLPRParameter;
import com.hyperai.hyperlpr3.bean.Plate;
/**
@@ -45,8 +42,6 @@ public class CameraPreviews extends SurfaceView implements SurfaceHolder.Callbac
private Context mContext;
HyperLPR3 hyperLPR3;
public CameraPreviews(Context context) {
super(context);
mContext = context;
@@ -57,8 +52,9 @@ public class CameraPreviews extends SurfaceView implements SurfaceHolder.Callbac
mPaint.setStyle(Paint.Style.STROKE);
// mPaint.setColor(ContextCompat.getColor(context, R.color.colorAccent));
Parameter parameter = new Parameter();
hyperLPR3 = new HyperLPR3(mContext, parameter);
HyperLPRParameter parameter = new HyperLPRParameter();
// hyperLPR3 = new HyperLPR3();
// hyperLPR3.init(mContext, parameter);
}
public Camera getCameraInstance(){
if (mCamera == null){
@@ -135,16 +131,12 @@ public class CameraPreviews extends SurfaceView implements SurfaceHolder.Callbac
synchronized (lock){
// 处理data
Camera.Size previewSize = camera.getParameters().getPreviewSize();
// String save_path = mContext.getExternalFilesDir(null).getAbsolutePath() + "/" + "a.jpg";
// core.testBuffer(save_path, data, previewSize.height, previewSize.width, 3);
Plate[] plates = hyperLPR3.plateRecognition(data, previewSize.height, previewSize.width, HyperLPR3.CAMERA_ROTATION_270, HyperLPR3.STREAM_YUV_NV21);
Plate[] plates = HyperLPR3.getInstance().plateRecognition(data, previewSize.height, previewSize.width, HyperLPR3.CAMERA_ROTATION_270, HyperLPR3.STREAM_YUV_NV21);
for (Plate plate : plates) {
Log.i(TAG, "" + plate.toString());
}
if(!isStopReg && plates.length > 0) {
// isStopReg = true;
sendPlate(plates);
}
@@ -19,7 +19,7 @@ import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.hyperai.hyperlpr3.HyperLPR3;
import com.hyperai.hyperlpr3.bean.Parameter;
import com.hyperai.hyperlpr3.bean.HyperLPRParameter;
import com.hyperai.hyperlpr3.bean.Plate;
import com.yuyh.library.imgsel.ISNav;
import com.yuyh.library.imgsel.common.ImageLoader;
@@ -42,8 +42,6 @@ public class MainActivity extends AppCompatActivity {
private TextView mResult;
HyperLPR3 hyperLPR3;
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static final String[] PERMISSIONS_STORAGE = {
@@ -81,8 +79,13 @@ public class MainActivity extends AppCompatActivity {
verifyStoragePermissions(this);
Parameter parameter = new Parameter();
hyperLPR3 = new HyperLPR3(mCtx, parameter);
// 车牌识别算法配置参数
HyperLPRParameter parameter = new HyperLPRParameter()
.setDetLevel(HyperLPR3.DETECT_LEVEL_LOW)
.setMaxNum(1)
.setRecConfidenceThreshold(0.85f);
// 初始化(仅执行一次生效)
HyperLPR3.getInstance().init(this, parameter);
ISNav.getInstance().init(new ImageLoader() {
@Override
@@ -158,7 +161,7 @@ public class MainActivity extends AppCompatActivity {
if (bitmap != null) {
imageView.setImageBitmap(bitmap);
Plate[] plates = hyperLPR3.plateRecognition(bitmap, HyperLPR3.CAMERA_ROTATION_0, HyperLPR3.STREAM_BGRA);
Plate[] plates = HyperLPR3.getInstance().plateRecognition(bitmap, HyperLPR3.CAMERA_ROTATION_0, HyperLPR3.STREAM_BGRA);
for (Plate plate: plates) {
String type = "未知车牌";
if (plate.getType() != HyperLPR3.PLATE_TYPE_UNKNOWN) {