diff --git a/apps/web-antd/src/views/aiot/device/roi/components/AlgorithmParamEditor.vue b/apps/web-antd/src/views/aiot/device/roi/components/AlgorithmParamEditor.vue index eeea6e9a7..702172dfc 100644 --- a/apps/web-antd/src/views/aiot/device/roi/components/AlgorithmParamEditor.vue +++ b/apps/web-antd/src/views/aiot/device/roi/components/AlgorithmParamEditor.vue @@ -44,6 +44,7 @@ const newListItem = ref(''); // 参数名中英文映射 const paramNameMap: Record = { leave_countdown_sec: '离岗倒计时(秒)', + frame_rate: '抽帧频率', working_hours: '工作时间段', // 其他算法参数 cooldown_seconds: '告警冷却期(秒)', @@ -58,12 +59,24 @@ const paramNameMap: Record = { // 参数说明映射 const paramDescMap: Record = { leave_countdown_sec: '人员离开后,倒计时多少秒才触发离岗告警', + frame_rate: '算法处理视频流的频率,频率越高检测越及时但消耗越大', working_hours: '仅在指定时间段内进行监控,留空表示24小时监控', // 其他算法参数说明 cooldown_seconds: '触发告警后,多少秒内不再重复告警(用于周界入侵等算法)', confirm_seconds: '检测到目标后,持续多少秒才触发告警(避免瞬间误报)', }; +// 抽帧频率选项(物业场景优化) +const frameRateOptions = [ + { value: 10.0, label: '10帧/秒', desc: '高频检测 - 快速移动场景' }, + { value: 5.0, label: '5帧/秒', desc: '中高频 - 正常人员活动' }, + { value: 3.0, label: '3帧/秒', desc: '中频 - 人员离岗、聚集(推荐)' }, + { value: 1.0, label: '1帧/秒', desc: '标准频率 - 周界入侵(推荐)' }, + { value: 0.33, label: '1帧/3秒', desc: '低频 - 慢速场景' }, + { value: 0.1, label: '1帧/10秒', desc: '极低频 - 车辆检测' }, + { value: 0.03, label: '1帧/30秒', desc: '超低频 - 垃圾堆放等静态检测' }, +]; + // 获取参数的中文名称 function getParamLabel(key: string): string { return paramNameMap[key] || key; @@ -129,6 +142,17 @@ function isWorkingHoursField(key: string): boolean { return key === 'working_hours'; } +// 判断是否为抽帧频率字段 +function isFrameRateField(key: string): boolean { + return key === 'frame_rate'; +} + +// 获取抽帧频率显示文本 +function getFrameRateLabel(value: number): string { + const option = frameRateOptions.find(opt => Math.abs(opt.value - value) < 0.01); + return option ? option.label : `${value}帧/秒`; +} + async function handleSave() { try { console.log('[算法参数保存] 开始保存,原始数据:', formData.value); @@ -273,6 +297,29 @@ function validateParams(params: Record): { + + +