| 1234567891011121314151617181920212223242526272829303132333435363738394041 | using OpenCvSharp;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Metis.AutoAnalysis{    /// <summary>    /// 检测图片是否是虚的    /// </summary>    class BlurDetection    {        private int m_threshold = 100;        private double GetLaplacianVar(Mat src)        {            Mat dst = new Mat();            Cv2.Laplacian(src, dst, MatType.CV_64F);            Cv2.MeanStdDev(dst, out var mean, out var dev);            return dev.Val0 * dev.Val0;        }        /// <summary>        /// 检测图片是否是虚的        /// </summary>        /// <param name="fileName"></param>        /// <returns>true: 虚, false: 不虚</returns>        public bool Detect(string fileName)        {            Mat mat = Cv2.ImRead(fileName, ImreadModes.Grayscale);            var lap_var = GetLaplacianVar(mat);            return lap_var < m_threshold;        }    }}
 |