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