Newer
Older
LensAdjustmentTool / Processing / ApertureAnalyzer.cs
using System;
using System.Drawing;
using OpenCvSharp;
using OpenCvSharp.Extensions;

namespace LensAdjustmentTool.Processing
{
    public static class ApertureAnalyzer
    {
        public static double CalculateMeanLuminance(Bitmap calculationRoi)
        {
            if (calculationRoi == null) throw new ArgumentNullException(nameof(calculationRoi));

            using (Mat src = BitmapConverter.ToMat(calculationRoi))
            using (Mat gray = new Mat())
            {
                Cv2.CvtColor(src, gray, ColorConversionCodes.BGR2GRAY);
                return Cv2.Mean(gray).Val0;
            }
        }
    }
}