diff --git a/app/src/main/java/com/casic/br/app/utils/YoloTargetDetectHelper.kt b/app/src/main/java/com/casic/br/app/utils/YoloTargetDetectHelper.kt index 193ec50..44f8373 100644 --- a/app/src/main/java/com/casic/br/app/utils/YoloTargetDetectHelper.kt +++ b/app/src/main/java/com/casic/br/app/utils/YoloTargetDetectHelper.kt @@ -15,11 +15,13 @@ fun siftHiddenTrouble( segmentationResults: MutableList, detectResults: MutableList ) { + //每次刷新画面帧都清除掉之前的筛选结果 + hiddenTroubles.clear() when (RuntimeCache.sceneName) { "有限空间作业" -> { //结果包含人 if (detectResults.isContains(3)) { - if (!detectResults.isContains(24) || !detectResults.isContains(9)) { + if (!detectResults.isContains(24) && !detectResults.isContains(9)) { //不包含工服/防护服 val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoWorkerClothes" @@ -45,7 +47,7 @@ } //结果不包含路锥、警戒线 - if (!detectResults.isContains(48) || !detectResults.isContains(43)) { + if (!detectResults.isContains(48) && !detectResults.isContains(43)) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoEnclosure" result.warning = "现场无围挡设施" @@ -53,8 +55,8 @@ } //结果不包含安全告知牌 - if (!detectResults.isContains(16) || - !detectResults.isContains(6) || + if (!detectResults.isContains(16) && + !detectResults.isContains(6) && !detectResults.isContains(28) ) { val result = HiddenTroubleResult() @@ -71,7 +73,7 @@ } //结果不包含通风设备 - if (!detectResults.isContains(57) || !detectResults.isContains(58)) { + if (!detectResults.isContains(57) && !detectResults.isContains(58)) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoAirSupply" result.warning = "现场无送风设备" @@ -103,7 +105,7 @@ } //结果不包含气体检测仪 - if (!detectResults.isContains(13) || !detectResults.isContains(29)) { + if (!detectResults.isContains(13) && !detectResults.isContains(29)) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoGasDetector" result.warning = "现场无气体检测报警仪"