计算图像边缘清晰度的算法

时间:2014-06-21 18:26:11

标签: algorithm opencv image-processing imagemagick

我需要计算图像中边缘的清晰度/模糊度,前提是我知道边缘开始的坐标,并且可以计算RGB,HSV和CMYK颜色空间。我需要它作为一个可能的等式。

1 个答案:

答案 0 :(得分:0)

由于您已经知道如何执行卷积,请查看Sobel operator

您将图像 I 卷绕两次,一次使用 x 内核来获取 G x

     [-1  0 +1]
Gx = [-2  0 +2] * I
     [-1  0 +1]

一次使用 y 内核获取 G y

     [+1 +2 +1]
Gy = [ 0  0  0] * I
     [-1 -2 -1]

然后,对于每个"像素"在 G x G y

G(x,y) = sqrt( Gx(x,y)*Gx(x,y) + Gy(x,y)*Gy(x,y) );

G 现在为您提供(x,y)处的图像渐变。渐变的大小可以衡量相邻像素之间的差异,或边缘的锐度。高幅度表示锋利的边缘;接近零的幅度表示没有边缘。你必须要玩这些价值观,看看哪些能给你带来你认为是什么" sharp"边缘或模糊"因为这些术语在数学上不是很精确。