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)}
------------------------
报告结束";
}
}
}