123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- using OpenCvSharp;
- using System;
- using System.Collections.Generic;
- using System.Drawing;
- using System.Linq;
- namespace PaintDotNet.Base.DedicatedAnalysis.GrainSize
- {
- /// <summary>
- /// 评定方法
- /// </summary>
- public abstract class MethodOfAssessment
- {
- /// <summary>
- /// 所属的标准
- /// </summary>
- public GrainSizeStandard grainSizeStandard;
- /// <summary>
- /// 标准的方法类型(0 截点法/截距法, 1 面积法)
- /// </summary>
- public int grainMethodType;
- /// <summary>
- /// 数据库的name(报告模板)
- /// </summary>
- public string resourcesName;
- /// <summary>
- /// 辅助线配置文件名称
- /// </summary>
- /// <returns></returns>
- public string guideXmlName;
- // 标准的结果模型
- // 试样总检验面积
- // 视场面积
- // 放大倍数
- ///// <summary>
- ///// 产生报告
- ///// </summary>
- //public AnalysisResult generateReport(Mat originalImage, Mat binary, List<RectangleF> rectangles,int kLevel,int viewNum)
- //{
- // AnalysisResult analysisResult = GetAnalysisResult();
- // analysisResult.inclusionsStandard = this.inclusionsStandard;
- // analysisResult.mat = originalImage;
- // analysisResult.inclusions = inclusions;
- // analysisResult.rectangles = rectangles;
- // analysisResult.kLevel = kLevel;
- // analysisResult.viewNum = viewNum;
- // analysisResult.buildResultBody();
- // binary.Dispose();
- // return analysisResult;
- //}
- //public abstract AnalysisResult GetAnalysisResult();
- //public abstract List<string> getResultConclusionHead();
- //public abstract List<string> buildResultConclusion(List<AnalysisResult> analysisResults);
- ///// <summary>
- ///// 分析结果
- ///// </summary>
- //public abstract class AnalysisResult
- //{
- // /// <summary>
- // /// 所属标准
- // /// </summary>
- // public InclusionsStandard inclusionsStandard;
- // /// <summary>
- // /// 所属图片
- // /// </summary>
- // public Mat mat;
- // /// <summary>
- // /// 夹杂物列表
- // /// </summary>
- // public List<Inclusion> inclusions;
- // public List<RectangleF> rectangles;
- // public int viewNum;
- // public List<string> publicResultHead = new List<string> {"图片","视场"};
- // public Dictionary<FieldOfView, List<string>> resultBody = new Dictionary<FieldOfView, List<string>>();
- // /// <summary>
- // /// K法级别
- // /// </summary>
- // public int kLevel;
- // /// <summary>
- // /// 视场模型
- // /// </summary>
- // public class FieldOfView
- // {
- // public string name;
- // public RectangleF rectangle;
- // public List<Inclusion> inclusions;
- // /// <summary>
- // /// 过滤有效的夹杂物
- // /// </summary>
- // /// <returns></returns>
- // public List<Inclusion> effectiveFilteringInclusion(List<Inclusion> inclusions)
- // {
- // List<Inclusion> inclusions1 = new List<Inclusion>();
- // foreach (var item in inclusions)
- // {
- // if (this.rectangle.Contains(item.rectProfile) || this.rectangle.IntersectsWith(item.rectProfile))
- // {
- // inclusions1.Add(item);
- // }
- // }
- // return inclusions1;
- // }
- // }
- // public List<string> getResultHead()
- // {
- // List<string> resultHead = new List<string>();
- // resultHead.AddRange(publicResultHead);
- // resultHead.AddRange(getDedicatedResultHead());
- // return resultHead;
- // }
- // public abstract List<string> getDedicatedResultHead();
- // public abstract void buildResultBody();
- // /// <summary>
- // /// 夹杂物评级
- // /// </summary>
- // /// 评级图暂已硬编码形式实现
- // public abstract double ratingInclusion(string type, double value);
- //}
- }
- }
|