图像处理算法之模糊检测
Posted 狂奔的CD
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像处理算法之模糊检测相关的知识,希望对你有一定的参考价值。
1)拉普拉斯算子边缘模糊程度值
参考: https://cloud.tencent.com/developer/article/1701714
原理:
这种方法有效的原因是由于Laplacian算子本身的定义,它用于测量图像的二阶导数。拉普拉斯算子突出显示图像中包含快速梯度变化的区域,很像Sobel和Scharr算子。和这些算子一样,Laplacian也经常用于边缘检测。这里的假设是,如果一幅图像的方差较高,那么就说明图像有广泛的响应,包括类边和非类边,这是一幅正常的聚焦图像的代表。但如果方差很低,那么就会有很小的响应扩散,这表明图像中几乎没有边缘。而图像越模糊,边缘就越少。所以可以用来检测是否模糊。
显然,这里的关键是设置正确的阈值,而阈值的设置与应用到的图像集相关。如果阈值过低,你就会错误地将原本不模糊的图像标记为模糊。如果阈值过高,那么实际上模糊的图像将不会被标记为模糊。这种方法只有在非常稳定的图像集(同一类型)中应用良好。
def getImageVar( image ):
img2gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
imageVar = cv2.Laplacian(img2gray, cv2.CV_64F).var()
return imageVar
以上是关于图像处理算法之模糊检测的主要内容,如果未能解决你的问题,请参考以下文章