如何计算锐度(Opencv)

时间:2013-12-05 20:42:15

标签: opencv image-processing

请帮帮我。我需要在opencv中计算图像的清晰度,但我现在不知道如何做到这一点。我正在研究,但没有为我找到任何东西。

2 个答案:

答案 0 :(得分:0)

频域的幅度之和:

double contrast_measure(const Mat&img)
{
   Mat dx,dy;
   Sobel(img,dx,1,0,3,CV_32F);
   Sobel(img,dy,0,1,3,CV_32F);
   magnitude(dx,dy,dx);
   return sum(dx)[0];
}

答案 1 :(得分:0)

我记得在2010年在当地的计算机视觉研究所工作,有一位同事写了一篇关于内窥镜检查锐度的论文。

这篇论文是德语,但我会告诉你他们提到的三种测量清晰度的方法: http://www.lfb.rwth-aachen.de/bibtexupload/pdf/GRO10a.pdf

  1. 方差
  2. 总和模量差(SMD)
  3. Perceptual Sharpness Metric(PSM)
  4. 他们发现SMD是他们特定图像数据的最佳清晰度标准。

    这是SMD,Variance和其他一些锐度函数的另一个链接: http://guppy.mpe.nus.edu.sg/~mpeangh/publications/f0544.pdf