benz-obstacle-detection/BenzObstacleDetect/Worker.cs

44 lines
1.4 KiB
C#
Raw Normal View History

2025-03-17 11:58:24 +08:00
using System;
using System.Threading;
using System.Threading.Tasks;
2025-03-17 14:28:42 +08:00
using Autolabor.Benz.ObstacleDetection.DataType;
2025-03-17 11:58:24 +08:00
using Autolabor.Robobase;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
2025-03-17 14:28:42 +08:00
using Microsoft.Extensions.Options;
2025-03-17 11:58:24 +08:00
namespace Autolabor.Benz.ObstacleDetection
{
public class Worker : BackgroundService
{
private readonly ILogger<Worker> _logger;
2025-03-17 14:28:42 +08:00
private readonly RectRoiSettings _roiSettings;
2025-03-17 11:58:24 +08:00
2025-03-17 14:28:42 +08:00
public Worker(ILogger<Worker> logger, IOptions<RectRoiSettings> roiSettings)
2025-03-17 11:58:24 +08:00
{
_logger = logger;
2025-03-17 14:28:42 +08:00
_roiSettings = roiSettings.Value;
2025-03-17 11:58:24 +08:00
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
2025-03-17 14:28:42 +08:00
foreach (var roi in _roiSettings.RectRois)
{
_logger.LogInformation("RectRoi: leftUp({0},{1}) - rightDown({2},{3})",
roi.LeftUpX, roi.LeftUpY, roi.RightDownX, roi.RightDownY);
}
2025-03-17 11:58:24 +08:00
// 创建用户配置文件
var app = Kits.GetAutolaborDataPath();
var path = System.IO.Path.Combine(app, "BenzObstacleDetection.bin");
UserDataManager.Initialize(path);
// 输出日志
TestKit.Logger.Trace("BenzObstacleDetection start");
2025-03-17 14:28:42 +08:00
2025-03-17 11:58:24 +08:00
// 启动顶层组件
2025-03-17 14:28:42 +08:00
var detection = new Detection(_roiSettings);
2025-03-17 11:58:24 +08:00
detection.Enable = true;
}
}
}