using OpenCvSharp; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Metis.AutoAnalysis { /// /// 检测图片是否是虚的 /// 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; } /// /// 检测图片是否是虚的 /// /// /// true: 虚, false: 不虚 public bool Detect(string fileName) { Mat mat = Cv2.ImRead(fileName, ImreadModes.Grayscale); var lap_var = GetLaplacianVar(mat); return lap_var < m_threshold; } } }