TSINGSEE青犀视频行人检测后端代码出现保存json数据错误的处理

本文主要是介绍TSINGSEE青犀视频行人检测后端代码出现保存json数据错误的处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家知道前段时间我们在某景区内进行了行人检测功能的测试,同时也将这一功能和景区的票务系统进行了对接。当我们将行人分析的结果和景区票务系统的数据进行对比时,后端代码出现保存的json数据错误。Json数据错误是:第一个“Persons”的字段为0(就是人数为0),不应该“ChangeValueArr”有值;而“ChangeValueArr”的数组中有很多要替换的视频源信息(需要替换的人数)。

image.png

首先使用搜索,找出“ChangeValueArr”添加的字段。以下代码是查找的数据库想匹配的代码,并添加到“ChangeValueArr”。

value := ChangeTimeValue{StartTime: sql.StartTimestamp - DifTime,EndTime: sql.EndTimestamp - DifTime,StartTimeStr: MsToTimeStr(sql.StartTimestamp),EndTimeStr: MsToTimeStr(sql.EndTimestamp),Persons: p,Filename: "",Duration: sql.EndTimestamp - sql.StartTimestamp,IsLive: false,
}
if p == 0 || v.Persons == 0 {MismatchTimeValueArr[index].IsSuccess = truelog.Println("票务系统为0人")
} else if p < v.Persons { //作为拼接SnapDataArr = append(SnapDataArr, value)
} else if p >= v.Persons && p <= (v.Persons + 100) {//成功找到符合条件log.Println("ChangeValueArr = append1")MismatchTimeValueArr[index].ChangeValueArr = append(MismatchTimeValueArr[index].ChangeValueArr, value)
}

以下代码是查找文件,并添加到“ChangeValueArr”字段:

if (hour - 2) >= h && (hour + 2) <= h{ // 符合小时的时间value := ChangeTimeValue{StartTime: -1,EndTime: -1,StartTimeStr: "-1",EndTimeStr: "-1",Persons: p,Filename: fmt.Sprintf("%s/%s", currDir, name),Duration: s * 1000,IsLive: false,}if p < v.Persons { //作为拼接SnapDataArr = append(SnapDataArr, value)} else if p <= v.Persons && p <= (v.Persons + 100) { //符合条件log.Println("ChangeValueArr = append2")MismatchTimeValueArr[index].ChangeValueArr = append(MismatchTimeValueArr[index].ChangeValueArr, value)} else {log.Println("检查的人数比实际大的多")}
}

以下代码的作用是把所有人数不匹配的视频源单独保存,达到用于拼接人数与票务系统所匹配的目的。

sort.SliceStable(SnapArr, func(i, j int) bool { //从小往大,排序return SnapArr[i].Persons < SnapArr[j].Persons
})
indexPerson:=len(SnapArr) - 1log.Println("ChangeValueArr = append3")
MismatchTimeValueArr[index].ChangeValueArr = append(MismatchTimeValueArr[index].ChangeValueArr, SnapArr[indexPerson])
SnapArr = append(SnapArr[:indexPerson], SnapArr[indexPerson+1:]...) //删除已经push进去的数据

检查的人数如果是不匹配的票务系统,那就把一个字段给”IsSuccess”改为false,true是代表不需要添加替换的视频源。

所以拼接完成的视频源是要把“IsSuccess”改为true,就说明视频源完成。这样“ChangeValueArr”里面就不会有值,代码逻辑才对。

image.png

这篇关于TSINGSEE青犀视频行人检测后端代码出现保存json数据错误的处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/930625

相关文章

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读