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;
}
}
}