diff --git a/app/src/main/cpp/yolov8ncnn.cpp b/app/src/main/cpp/yolov8ncnn.cpp index 5f07ba1..d85c088 100644 --- a/app/src/main/cpp/yolov8ncnn.cpp +++ b/app/src/main/cpp/yolov8ncnn.cpp @@ -146,7 +146,7 @@ static MyNdkCamera *camera_ptr = nullptr; //分割、检测、分类 -const char *model_types[] = {"best-sim-opt-fp16", "br-detect-20240913-sim-fp16", "model.ncnn"}; +const char *model_types[] = {"best-sim-opt-fp16", "br-detect-20241008-sim-fp16", "model.ncnn"}; const int target_sizes[] = {320, 320, 320}; const float mean_values[][3] = { {103.53f, 116.28f, 123.675f}, diff --git a/app/src/main/cpp/yolov8ncnn.cpp b/app/src/main/cpp/yolov8ncnn.cpp index 5f07ba1..d85c088 100644 --- a/app/src/main/cpp/yolov8ncnn.cpp +++ b/app/src/main/cpp/yolov8ncnn.cpp @@ -146,7 +146,7 @@ static MyNdkCamera *camera_ptr = nullptr; //分割、检测、分类 -const char *model_types[] = {"best-sim-opt-fp16", "br-detect-20240913-sim-fp16", "model.ncnn"}; +const char *model_types[] = {"best-sim-opt-fp16", "br-detect-20241008-sim-fp16", "model.ncnn"}; const int target_sizes[] = {320, 320, 320}; const float mean_values[][3] = { {103.53f, 116.28f, 123.675f}, diff --git a/app/src/main/java/com/casic/br/ar/app/model/RecognizeResultModel.java b/app/src/main/java/com/casic/br/ar/app/model/RecognizeResultModel.java deleted file mode 100644 index 64e973a..0000000 --- a/app/src/main/java/com/casic/br/ar/app/model/RecognizeResultModel.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.casic.br.ar.app.model; - -import java.util.List; - -public class RecognizeResultModel { - - private String scene; - private String inferneceStart; - private String inferneceEnd; - private String inferneceInterval; - private List result; - private Integer code; - - public String getScene() { - return scene; - } - - public void setScene(String scene) { - this.scene = scene; - } - - public String getInferneceStart() { - return inferneceStart; - } - - public void setInferneceStart(String inferneceStart) { - this.inferneceStart = inferneceStart; - } - - public String getInferneceEnd() { - return inferneceEnd; - } - - public void setInferneceEnd(String inferneceEnd) { - this.inferneceEnd = inferneceEnd; - } - - public String getInferneceInterval() { - return inferneceInterval; - } - - public void setInferneceInterval(String inferneceInterval) { - this.inferneceInterval = inferneceInterval; - } - - public List getResult() { - return result; - } - - public void setResult(List result) { - this.result = result; - } - - public Integer getCode() { - return code; - } - - public void setCode(Integer code) { - this.code = code; - } - - public static class ResultModel { - private String label; - private Double conf; - private List box; - - public String getLabel() { - return label; - } - - public void setLabel(String label) { - this.label = label; - } - - public Double getConf() { - return conf; - } - - public void setConf(Double conf) { - this.conf = conf; - } - - public List getBox() { - return box; - } - - public void setBox(List box) { - this.box = box; - } - } -} diff --git a/app/src/main/cpp/yolov8ncnn.cpp b/app/src/main/cpp/yolov8ncnn.cpp index 5f07ba1..d85c088 100644 --- a/app/src/main/cpp/yolov8ncnn.cpp +++ b/app/src/main/cpp/yolov8ncnn.cpp @@ -146,7 +146,7 @@ static MyNdkCamera *camera_ptr = nullptr; //分割、检测、分类 -const char *model_types[] = {"best-sim-opt-fp16", "br-detect-20240913-sim-fp16", "model.ncnn"}; +const char *model_types[] = {"best-sim-opt-fp16", "br-detect-20241008-sim-fp16", "model.ncnn"}; const int target_sizes[] = {320, 320, 320}; const float mean_values[][3] = { {103.53f, 116.28f, 123.675f}, diff --git a/app/src/main/java/com/casic/br/ar/app/model/RecognizeResultModel.java b/app/src/main/java/com/casic/br/ar/app/model/RecognizeResultModel.java deleted file mode 100644 index 64e973a..0000000 --- a/app/src/main/java/com/casic/br/ar/app/model/RecognizeResultModel.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.casic.br.ar.app.model; - -import java.util.List; - -public class RecognizeResultModel { - - private String scene; - private String inferneceStart; - private String inferneceEnd; - private String inferneceInterval; - private List result; - private Integer code; - - public String getScene() { - return scene; - } - - public void setScene(String scene) { - this.scene = scene; - } - - public String getInferneceStart() { - return inferneceStart; - } - - public void setInferneceStart(String inferneceStart) { - this.inferneceStart = inferneceStart; - } - - public String getInferneceEnd() { - return inferneceEnd; - } - - public void setInferneceEnd(String inferneceEnd) { - this.inferneceEnd = inferneceEnd; - } - - public String getInferneceInterval() { - return inferneceInterval; - } - - public void setInferneceInterval(String inferneceInterval) { - this.inferneceInterval = inferneceInterval; - } - - public List getResult() { - return result; - } - - public void setResult(List result) { - this.result = result; - } - - public Integer getCode() { - return code; - } - - public void setCode(Integer code) { - this.code = code; - } - - public static class ResultModel { - private String label; - private Double conf; - private List box; - - public String getLabel() { - return label; - } - - public void setLabel(String label) { - this.label = label; - } - - public Double getConf() { - return conf; - } - - public void setConf(Double conf) { - this.conf = conf; - } - - public List getBox() { - return box; - } - - public void setBox(List box) { - this.box = box; - } - } -} diff --git a/app/src/main/java/com/casic/br/ar/app/vm/ImageFileViewModel.kt b/app/src/main/java/com/casic/br/ar/app/vm/ImageFileViewModel.kt index 067e488..fec20de 100644 --- a/app/src/main/java/com/casic/br/ar/app/vm/ImageFileViewModel.kt +++ b/app/src/main/java/com/casic/br/ar/app/vm/ImageFileViewModel.kt @@ -1,76 +1,21 @@ package com.casic.br.ar.app.vm -import android.content.Context import androidx.lifecycle.MutableLiveData import com.casic.br.ar.app.extensions.getResponseCode import com.casic.br.ar.app.model.ActionResultModel -import com.casic.br.ar.app.model.RecognizeResultModel import com.casic.br.ar.app.retrofit.RetrofitServiceManager import com.google.gson.Gson -import com.google.gson.JsonParser import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.base.BaseViewModel import com.pengxh.kt.lite.extensions.launch -import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import java.io.File class ImageFileViewModel : BaseViewModel() { private val gson by lazy { Gson() } - val sceneResult = MutableLiveData() - val recognizeResult = MutableLiveData() val resultModel = MutableLiveData() - fun getScene(context: Context, base64: String) = launch({ - val response = RetrofitServiceManager.getScene(base64) - when (response.getResponseCode()) { - 200 -> { - /** - * { - * "code": 200, - * "scene": "配电箱" - * } - * */ - val element = JsonParser.parseString(response) - val jsonObject = element.asJsonObject - sceneResult.value = jsonObject.get("scene").asString - } - - else -> { - val element = JsonParser.parseString(response) - val jsonObject = element.asJsonObject - jsonObject.get("result").asString.show(context) - } - } - }, { - it.printStackTrace() - }) - - fun getRecognizeResult( - context: Context, base64: String, scene: String, inspectionId: String - ) = launch({ - loadState.value = LoadState.Loading - val response = RetrofitServiceManager.getRecognizeResult(base64, scene, inspectionId) - when (response.getResponseCode()) { - 200 -> { - loadState.value = LoadState.Success - recognizeResult.value = gson.fromJson( - response, object : TypeToken() {}.type - ) - } - - else -> { - val element = JsonParser.parseString(response) - val jsonObject = element.asJsonObject - jsonObject.get("result").asString.show(context) - loadState.value = LoadState.Fail - } - } - }, { - loadState.value = LoadState.Fail - }) - fun uploadImage(image: File) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.uploadImage(image) diff --git a/app/src/main/cpp/yolov8ncnn.cpp b/app/src/main/cpp/yolov8ncnn.cpp index 5f07ba1..d85c088 100644 --- a/app/src/main/cpp/yolov8ncnn.cpp +++ b/app/src/main/cpp/yolov8ncnn.cpp @@ -146,7 +146,7 @@ static MyNdkCamera *camera_ptr = nullptr; //分割、检测、分类 -const char *model_types[] = {"best-sim-opt-fp16", "br-detect-20240913-sim-fp16", "model.ncnn"}; +const char *model_types[] = {"best-sim-opt-fp16", "br-detect-20241008-sim-fp16", "model.ncnn"}; const int target_sizes[] = {320, 320, 320}; const float mean_values[][3] = { {103.53f, 116.28f, 123.675f}, diff --git a/app/src/main/java/com/casic/br/ar/app/model/RecognizeResultModel.java b/app/src/main/java/com/casic/br/ar/app/model/RecognizeResultModel.java deleted file mode 100644 index 64e973a..0000000 --- a/app/src/main/java/com/casic/br/ar/app/model/RecognizeResultModel.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.casic.br.ar.app.model; - -import java.util.List; - -public class RecognizeResultModel { - - private String scene; - private String inferneceStart; - private String inferneceEnd; - private String inferneceInterval; - private List result; - private Integer code; - - public String getScene() { - return scene; - } - - public void setScene(String scene) { - this.scene = scene; - } - - public String getInferneceStart() { - return inferneceStart; - } - - public void setInferneceStart(String inferneceStart) { - this.inferneceStart = inferneceStart; - } - - public String getInferneceEnd() { - return inferneceEnd; - } - - public void setInferneceEnd(String inferneceEnd) { - this.inferneceEnd = inferneceEnd; - } - - public String getInferneceInterval() { - return inferneceInterval; - } - - public void setInferneceInterval(String inferneceInterval) { - this.inferneceInterval = inferneceInterval; - } - - public List getResult() { - return result; - } - - public void setResult(List result) { - this.result = result; - } - - public Integer getCode() { - return code; - } - - public void setCode(Integer code) { - this.code = code; - } - - public static class ResultModel { - private String label; - private Double conf; - private List box; - - public String getLabel() { - return label; - } - - public void setLabel(String label) { - this.label = label; - } - - public Double getConf() { - return conf; - } - - public void setConf(Double conf) { - this.conf = conf; - } - - public List getBox() { - return box; - } - - public void setBox(List box) { - this.box = box; - } - } -} diff --git a/app/src/main/java/com/casic/br/ar/app/vm/ImageFileViewModel.kt b/app/src/main/java/com/casic/br/ar/app/vm/ImageFileViewModel.kt index 067e488..fec20de 100644 --- a/app/src/main/java/com/casic/br/ar/app/vm/ImageFileViewModel.kt +++ b/app/src/main/java/com/casic/br/ar/app/vm/ImageFileViewModel.kt @@ -1,76 +1,21 @@ package com.casic.br.ar.app.vm -import android.content.Context import androidx.lifecycle.MutableLiveData import com.casic.br.ar.app.extensions.getResponseCode import com.casic.br.ar.app.model.ActionResultModel -import com.casic.br.ar.app.model.RecognizeResultModel import com.casic.br.ar.app.retrofit.RetrofitServiceManager import com.google.gson.Gson -import com.google.gson.JsonParser import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.base.BaseViewModel import com.pengxh.kt.lite.extensions.launch -import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import java.io.File class ImageFileViewModel : BaseViewModel() { private val gson by lazy { Gson() } - val sceneResult = MutableLiveData() - val recognizeResult = MutableLiveData() val resultModel = MutableLiveData() - fun getScene(context: Context, base64: String) = launch({ - val response = RetrofitServiceManager.getScene(base64) - when (response.getResponseCode()) { - 200 -> { - /** - * { - * "code": 200, - * "scene": "配电箱" - * } - * */ - val element = JsonParser.parseString(response) - val jsonObject = element.asJsonObject - sceneResult.value = jsonObject.get("scene").asString - } - - else -> { - val element = JsonParser.parseString(response) - val jsonObject = element.asJsonObject - jsonObject.get("result").asString.show(context) - } - } - }, { - it.printStackTrace() - }) - - fun getRecognizeResult( - context: Context, base64: String, scene: String, inspectionId: String - ) = launch({ - loadState.value = LoadState.Loading - val response = RetrofitServiceManager.getRecognizeResult(base64, scene, inspectionId) - when (response.getResponseCode()) { - 200 -> { - loadState.value = LoadState.Success - recognizeResult.value = gson.fromJson( - response, object : TypeToken() {}.type - ) - } - - else -> { - val element = JsonParser.parseString(response) - val jsonObject = element.asJsonObject - jsonObject.get("result").asString.show(context) - loadState.value = LoadState.Fail - } - } - }, { - loadState.value = LoadState.Fail - }) - fun uploadImage(image: File) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.uploadImage(image) diff --git a/app/src/main/java/com/casic/br/ar/app/widgets/AITargetDetectView.kt b/app/src/main/java/com/casic/br/ar/app/widgets/AITargetDetectView.kt deleted file mode 100644 index aef3ae9..0000000 --- a/app/src/main/java/com/casic/br/ar/app/widgets/AITargetDetectView.kt +++ /dev/null @@ -1,72 +0,0 @@ -package com.casic.br.ar.app.widgets - -import android.content.Context -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import android.graphics.Rect -import android.text.TextPaint -import android.util.AttributeSet -import android.view.View -import com.casic.br.ar.app.model.RecognizeResultModel -import com.pengxh.kt.lite.extensions.dp2px -import com.pengxh.kt.lite.extensions.getScreenHeight -import com.pengxh.kt.lite.extensions.getScreenWidth -import com.pengxh.kt.lite.extensions.getStatusBarHeight -import com.pengxh.kt.lite.extensions.sp2px - -class AITargetDetectView constructor(context: Context, attrs: AttributeSet) : View(context, attrs) { - - private val kTag = "FaceDetectView" - private val textPaint by lazy { TextPaint() } - private val borderPaint by lazy { Paint() } - private val rect by lazy { Rect() } - private var viewWidth = 0 - private var viewHeight = 0 - private var resultModels: MutableList? = null - - init { - textPaint.color = Color.RED - textPaint.isAntiAlias = true - textPaint.textAlign = Paint.Align.CENTER - textPaint.textSize = 14f.sp2px(context) - - borderPaint.color = Color.RED - borderPaint.style = Paint.Style.STROKE - borderPaint.strokeWidth = 2f.dp2px(context) //设置线宽 - borderPaint.isAntiAlias = true - - viewWidth = context.getScreenWidth() - //屏幕整体高度-状态栏高度-标题栏高度 - viewHeight = context.getScreenHeight() - context.getStatusBarHeight() - 44.dp2px(context) - } - - fun updateTargetPosition(resultModels: MutableList?) { - this.resultModels = resultModels - invalidate() - } - - override fun onDraw(canvas: Canvas) { - super.onDraw(canvas) - resultModels?.forEach { - //画文字 - val textLength = textPaint.measureText(it.label) - canvas.drawText( - it.label, - (it.box[0] * viewWidth + textLength / 2).toFloat(), - (it.box[1] * viewHeight - 10).toFloat(), - textPaint - ) - - //画框 - val box = it.box - rect.set( - (box[0] * viewWidth).toInt(), - (box[1] * viewHeight).toInt(), - (box[2] * viewWidth).toInt(), - (box[3] * viewHeight).toInt() - ) - canvas.drawRect(rect, borderPaint) - } - } -} \ No newline at end of file diff --git a/app/src/main/cpp/yolov8ncnn.cpp b/app/src/main/cpp/yolov8ncnn.cpp index 5f07ba1..d85c088 100644 --- a/app/src/main/cpp/yolov8ncnn.cpp +++ b/app/src/main/cpp/yolov8ncnn.cpp @@ -146,7 +146,7 @@ static MyNdkCamera *camera_ptr = nullptr; //分割、检测、分类 -const char *model_types[] = {"best-sim-opt-fp16", "br-detect-20240913-sim-fp16", "model.ncnn"}; +const char *model_types[] = {"best-sim-opt-fp16", "br-detect-20241008-sim-fp16", "model.ncnn"}; const int target_sizes[] = {320, 320, 320}; const float mean_values[][3] = { {103.53f, 116.28f, 123.675f}, diff --git a/app/src/main/java/com/casic/br/ar/app/model/RecognizeResultModel.java b/app/src/main/java/com/casic/br/ar/app/model/RecognizeResultModel.java deleted file mode 100644 index 64e973a..0000000 --- a/app/src/main/java/com/casic/br/ar/app/model/RecognizeResultModel.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.casic.br.ar.app.model; - -import java.util.List; - -public class RecognizeResultModel { - - private String scene; - private String inferneceStart; - private String inferneceEnd; - private String inferneceInterval; - private List result; - private Integer code; - - public String getScene() { - return scene; - } - - public void setScene(String scene) { - this.scene = scene; - } - - public String getInferneceStart() { - return inferneceStart; - } - - public void setInferneceStart(String inferneceStart) { - this.inferneceStart = inferneceStart; - } - - public String getInferneceEnd() { - return inferneceEnd; - } - - public void setInferneceEnd(String inferneceEnd) { - this.inferneceEnd = inferneceEnd; - } - - public String getInferneceInterval() { - return inferneceInterval; - } - - public void setInferneceInterval(String inferneceInterval) { - this.inferneceInterval = inferneceInterval; - } - - public List getResult() { - return result; - } - - public void setResult(List result) { - this.result = result; - } - - public Integer getCode() { - return code; - } - - public void setCode(Integer code) { - this.code = code; - } - - public static class ResultModel { - private String label; - private Double conf; - private List box; - - public String getLabel() { - return label; - } - - public void setLabel(String label) { - this.label = label; - } - - public Double getConf() { - return conf; - } - - public void setConf(Double conf) { - this.conf = conf; - } - - public List getBox() { - return box; - } - - public void setBox(List box) { - this.box = box; - } - } -} diff --git a/app/src/main/java/com/casic/br/ar/app/vm/ImageFileViewModel.kt b/app/src/main/java/com/casic/br/ar/app/vm/ImageFileViewModel.kt index 067e488..fec20de 100644 --- a/app/src/main/java/com/casic/br/ar/app/vm/ImageFileViewModel.kt +++ b/app/src/main/java/com/casic/br/ar/app/vm/ImageFileViewModel.kt @@ -1,76 +1,21 @@ package com.casic.br.ar.app.vm -import android.content.Context import androidx.lifecycle.MutableLiveData import com.casic.br.ar.app.extensions.getResponseCode import com.casic.br.ar.app.model.ActionResultModel -import com.casic.br.ar.app.model.RecognizeResultModel import com.casic.br.ar.app.retrofit.RetrofitServiceManager import com.google.gson.Gson -import com.google.gson.JsonParser import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.base.BaseViewModel import com.pengxh.kt.lite.extensions.launch -import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import java.io.File class ImageFileViewModel : BaseViewModel() { private val gson by lazy { Gson() } - val sceneResult = MutableLiveData() - val recognizeResult = MutableLiveData() val resultModel = MutableLiveData() - fun getScene(context: Context, base64: String) = launch({ - val response = RetrofitServiceManager.getScene(base64) - when (response.getResponseCode()) { - 200 -> { - /** - * { - * "code": 200, - * "scene": "配电箱" - * } - * */ - val element = JsonParser.parseString(response) - val jsonObject = element.asJsonObject - sceneResult.value = jsonObject.get("scene").asString - } - - else -> { - val element = JsonParser.parseString(response) - val jsonObject = element.asJsonObject - jsonObject.get("result").asString.show(context) - } - } - }, { - it.printStackTrace() - }) - - fun getRecognizeResult( - context: Context, base64: String, scene: String, inspectionId: String - ) = launch({ - loadState.value = LoadState.Loading - val response = RetrofitServiceManager.getRecognizeResult(base64, scene, inspectionId) - when (response.getResponseCode()) { - 200 -> { - loadState.value = LoadState.Success - recognizeResult.value = gson.fromJson( - response, object : TypeToken() {}.type - ) - } - - else -> { - val element = JsonParser.parseString(response) - val jsonObject = element.asJsonObject - jsonObject.get("result").asString.show(context) - loadState.value = LoadState.Fail - } - } - }, { - loadState.value = LoadState.Fail - }) - fun uploadImage(image: File) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.uploadImage(image) diff --git a/app/src/main/java/com/casic/br/ar/app/widgets/AITargetDetectView.kt b/app/src/main/java/com/casic/br/ar/app/widgets/AITargetDetectView.kt deleted file mode 100644 index aef3ae9..0000000 --- a/app/src/main/java/com/casic/br/ar/app/widgets/AITargetDetectView.kt +++ /dev/null @@ -1,72 +0,0 @@ -package com.casic.br.ar.app.widgets - -import android.content.Context -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import android.graphics.Rect -import android.text.TextPaint -import android.util.AttributeSet -import android.view.View -import com.casic.br.ar.app.model.RecognizeResultModel -import com.pengxh.kt.lite.extensions.dp2px -import com.pengxh.kt.lite.extensions.getScreenHeight -import com.pengxh.kt.lite.extensions.getScreenWidth -import com.pengxh.kt.lite.extensions.getStatusBarHeight -import com.pengxh.kt.lite.extensions.sp2px - -class AITargetDetectView constructor(context: Context, attrs: AttributeSet) : View(context, attrs) { - - private val kTag = "FaceDetectView" - private val textPaint by lazy { TextPaint() } - private val borderPaint by lazy { Paint() } - private val rect by lazy { Rect() } - private var viewWidth = 0 - private var viewHeight = 0 - private var resultModels: MutableList? = null - - init { - textPaint.color = Color.RED - textPaint.isAntiAlias = true - textPaint.textAlign = Paint.Align.CENTER - textPaint.textSize = 14f.sp2px(context) - - borderPaint.color = Color.RED - borderPaint.style = Paint.Style.STROKE - borderPaint.strokeWidth = 2f.dp2px(context) //设置线宽 - borderPaint.isAntiAlias = true - - viewWidth = context.getScreenWidth() - //屏幕整体高度-状态栏高度-标题栏高度 - viewHeight = context.getScreenHeight() - context.getStatusBarHeight() - 44.dp2px(context) - } - - fun updateTargetPosition(resultModels: MutableList?) { - this.resultModels = resultModels - invalidate() - } - - override fun onDraw(canvas: Canvas) { - super.onDraw(canvas) - resultModels?.forEach { - //画文字 - val textLength = textPaint.measureText(it.label) - canvas.drawText( - it.label, - (it.box[0] * viewWidth + textLength / 2).toFloat(), - (it.box[1] * viewHeight - 10).toFloat(), - textPaint - ) - - //画框 - val box = it.box - rect.set( - (box[0] * viewWidth).toInt(), - (box[1] * viewHeight).toInt(), - (box[2] * viewWidth).toInt(), - (box[3] * viewHeight).toInt() - ) - canvas.drawRect(rect, borderPaint) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/widgets/CheckItemDialog.kt b/app/src/main/java/com/casic/br/ar/app/widgets/CheckItemDialog.kt index 3f8df5c..bcc55f2 100644 --- a/app/src/main/java/com/casic/br/ar/app/widgets/CheckItemDialog.kt +++ b/app/src/main/java/com/casic/br/ar/app/widgets/CheckItemDialog.kt @@ -85,7 +85,7 @@ binding.haveTroubleButton.typeface = Typeface.defaultFromStyle(Typeface.NORMAL) binding.haveTroubleButton.setBackgroundResource(R.drawable.button_dialog_selector_red_25) - //每4s查一次缓存数据 + //每4s取一次分析结果数据 timer.schedule(object : TimerTask() { override fun run() { weakReferenceHandler.sendEmptyMessage(2024092403) @@ -100,6 +100,13 @@ ) { this.mat = mat detectHelper.siftHiddenTrouble(segmentationResults, detectResults) + for (result in detectResults) { + val typeName = LocaleConstant.TARGET_NAMES_ARRAY[result.type] + if (checkItem.contains(typeName) || checkItem.contains("对讲设备")) { + startCountDownTimer(typeName, false) + return + } + } } override fun handleMessage(msg: Message): Boolean { @@ -132,9 +139,9 @@ private fun handleWarningByCheckItem( lastResult: List, hiddenTroubleResult: HiddenTroubleResult ) { + this.hiddenTroubleResult = hiddenTroubleResult if (checkItem.contains("安全帽")) { if (lastResult.isContains(13) && !lastResult.isContains(15)) { - this.hiddenTroubleResult = hiddenTroubleResult //未佩戴安全帽 startCountDownTimer("未佩戴安全帽", true) return @@ -143,7 +150,6 @@ if (checkItem.contains("防护服") || checkItem.contains("工服")) { if (lastResult.isContains(13) && !lastResult.isContains(20)) { - this.hiddenTroubleResult = hiddenTroubleResult //未着工服 startCountDownTimer("未着工服", true) return @@ -152,19 +158,10 @@ if (checkItem.contains("安全带") || checkItem.contains("安全绳")) { if (lastResult.isContains(13) && !lastResult.isContains(17)) { - this.hiddenTroubleResult = hiddenTroubleResult startCountDownTimer("没有佩戴安全带、安全绳", true) return } } - - for (result in lastResult) { - val typeName = LocaleConstant.TARGET_NAMES_ARRAY[result.type] - if (checkItem.contains(typeName) || checkItem.contains("对讲设备")) { - startCountDownTimer(typeName, false) - return - } - } } private var isCountDownCompleted = true