Пример #1
0
        /// <summary>
        /// 以指定评估指标比较当前图像并计算图像质量。
        /// </summary>
        /// <param name="indicator">图像质量的评估指标。</param>
        /// <returns>以 <paramref name="indicator"/> 指标对比当前图像得到的图像质量。</returns>
        private double CalculateImageQuality(EvaluationIndicator indicator)
        {
            using var sourceBitmap = PairedImageQuality.TryLoadBitmap(this.SourceFile.FullName);
            using var targetBitmap = PairedImageQuality.TryLoadBitmap(this.TargetFile.FullName);
            var factory = BitmapEvaluatorFactory.GetDefault(PixelFormat.Format24bppRgb);

            return(factory.CreateEvaluator(indicator).Evaluate(sourceBitmap, targetBitmap));
        }
Пример #2
0
 /// <summary>
 /// 获取以指定评估指标对比当前图像得到的图像质量。
 /// </summary>
 /// <param name="indicator">图像质量的评估指标。</param>
 /// <returns>以 <paramref name="indicator"/> 指标对比当前图像得到的图像质量。</returns>
 public double this[EvaluationIndicator indicator] =>
 this.LazyImageQuality[indicator].Value;
Пример #3
0
 /// <summary>
 /// 创建计算指定评估指标的 <see cref="Bit8BitmapEvaluator"/> 类的实例。
 /// </summary>
 /// <param name="indicator">要使用的位图图像质量评估指标。</param>
 /// <returns>计算 <paramref name="indicator"/> 表示的评估指标的
 /// <see cref="Bit8BitmapEvaluator"/> 类的实例。</returns>
 /// <exception cref="ArgumentOutOfRangeException">
 /// <paramref name="indicator"/> 不为有效的枚举值。</exception>
 public override IBitmapEvaluator CreateEvaluator(EvaluationIndicator indicator) => indicator switch
 {