Files
OrpaonVision/OrpaonVision.SiteApp/Runtime/Contracts/InferenceResultDto.cs
2026-04-06 22:04:05 +08:00

115 lines
2.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
namespace OrpaonVision.SiteApp.Runtime.Contracts
{
/// <summary>
/// 推理结果对象。
/// </summary>
public sealed class InferenceResultDto
{
/// <summary>
/// 关联的帧标识。
/// </summary>
public Guid FrameId { get; set; }
/// <summary>
/// 推理标识。
/// </summary>
public Guid InferenceId { get; set; }
/// <summary>
/// 推理时间UTC
/// </summary>
public DateTime InferredAtUtc { get; set; }
/// <summary>
/// 模型名称。
/// </summary>
public string ModelName { get; set; } = string.Empty;
/// <summary>
/// 模型版本。
/// </summary>
public string ModelVersion { get; set; } = string.Empty;
/// <summary>
/// 推理耗时(毫秒)。
/// </summary>
public double InferenceTimeMs { get; set; }
/// <summary>
/// 检测结果列表。
/// </summary>
public IReadOnlyList<DetectionDto> Detections { get; set; } = [];
/// <summary>
/// 是否为NG不良品
/// </summary>
public bool IsNg { get; set; }
/// <summary>
/// 预测标签(兼容性属性)。
/// </summary>
public string Label { get; set; } = string.Empty;
/// <summary>
/// 置信度(兼容性属性)。
/// </summary>
public decimal Confidence { get; set; }
}
/// <summary>
/// 检测结果对象。
/// </summary>
public sealed class DetectionDto
{
/// <summary>
/// 类别ID。
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 类别名称。
/// </summary>
public string ClassName { get; set; } = string.Empty;
/// <summary>
/// 置信度。
/// </summary>
public float Confidence { get; set; }
/// <summary>
/// 边界框X坐标。
/// </summary>
public float X { get; set; }
/// <summary>
/// 边界框Y坐标。
/// </summary>
public float Y { get; set; }
/// <summary>
/// 边界框宽度。
/// </summary>
public float Width { get; set; }
/// <summary>
/// 边界框高度。
/// </summary>
public float Height { get; set; }
/// <summary>
/// 边界框中心X坐标。
/// </summary>
public float CenterX { get; set; }
/// <summary>
/// 边界框中心Y坐标。
/// </summary>
public float CenterY { get; set; }
/// <summary>
/// 边界框面积。
/// </summary>
public float Area { get; set; }
}
}