支持通过网页增加、删除、修改摄像头配置信息

支持摄像头配置信息中句柄的设置,并实测有效
This commit is contained in:
2025-12-28 08:07:55 +08:00
parent 3718465463
commit 2ee25a4f7c
25 changed files with 2298 additions and 75 deletions

View File

@@ -28,7 +28,7 @@ public class EnhanceWorker : BaseWorker
var options = _configManager.GetOptions(deviceId);
// 2. 检查开关:如果没开启增强,直接跳过
if (!options.EnableEnhance) return;
if (!options.EnableBrightness) return;
// 3. 确定操作对象
// 策略:如果上一站生成了 TargetMat (缩放图),我们处理缩放图;
@@ -36,22 +36,16 @@ public class EnhanceWorker : BaseWorker
// 通常 UI 预览场景下,如果不缩放,直接处理 4K 原图会非常卡。
// 建议:仅当 TargetMat 存在时处理,或者强制 clone 一份原图作为 TargetMat
Mat srcMat = frame.TargetMat;
bool createdNew = false;
// 如果没有 TargetMat (上一站透传了),但开启了增亮
// 我们必须基于原图生成一个 TargetMat否则下游 UI 拿不到处理结果
if (srcMat == null || srcMat.IsDisposed)
{
// 注意:处理 4K 原图非常耗时,生产环境建议这里做个限制
Mat srcMat;
if (frame.TargetMat != null)
srcMat = frame.TargetMat;
else
srcMat = frame.InternalMat;
createdNew = true; // 标记我们需要 Attach 新的
}
// 4. 执行增亮
Mat brightMat = new Mat();
// Alpha=1.0, Beta=配置值
srcMat.ConvertTo(brightMat, -1, 1.0, options.BrightnessLevel);
srcMat.ConvertTo(brightMat, -1, 1.0, options.Brightness);
// 5. 挂载结果
// 这会自动释放上一站生成的旧 TargetMat (如果存在)