using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TeamAAS_VP.Models { /// /// 最终报告 /// public class AnalysisReport { public AnalysisParameters Parameters { get; set; } public AnalysisResult FinalResult { get; set; } public List HistoryData { get; set; } public DateTime StartTime { get; set; } public DateTime EndTime { get; set; } public TimeSpan Duration => EndTime - StartTime; public AnalysisReport() { HistoryData = new List(); } public string GenerateTextReport() { return $@"工业相机图像质量分析报告 生成时间:{EndTime:yyyy-MM-dd HH:mm:ss} 分析时长:{Duration.TotalSeconds:F1}秒 一、分析参数 ----------- 清晰度算法:{Parameters.FocusMethod} 分析模式:{Parameters.AnalysisMode} 目标亮度:{Parameters.TargetBrightness} 实时分析:{Parameters.EnableRealtimeAnalysis} 二、最终结果 ----------- 清晰度:{FinalResult.Sharpness:F2} 最佳清晰度:{FinalResult.BestSharpness:F2} 质量评分:{FinalResult.QualityScore:F1}/100 分析帧数:{FinalResult.FrameCount} 三、棋盘格分析 ----------- 检测状态:{(FinalResult.Checkerboard.Detected ? "已检测" : "未检测")} 黑色均值:{FinalResult.Checkerboard.BlackMean:F1} 白色均值:{FinalResult.Checkerboard.WhiteMean:F1} 对比度:{FinalResult.Checkerboard.Contrast:F1} 建议亮度:{FinalResult.Checkerboard.OptimalBrightness} 四、统计信息 ----------- 总帧数:{HistoryData.Count} 平均清晰度:{HistoryData.Average(d => d.Sharpness):F2} 最大清晰度:{HistoryData.Max(d => d.Sharpness):F2} 最小清晰度:{HistoryData.Min(d => d.Sharpness):F2} 五、调整建议 ----------- {string.Join("\n", FinalResult.Suggestions)} ------------------------ 报告结束"; } } }