1、模糊量判断
从频率角度来看,图像中低频信息越多越模糊,图像高频信息提取相当于进行边缘提取,这里使用拉普拉斯mask,然后计算方差;如果图片具有较高方差,那么它就有较广的频响范围,代表着正常,聚焦准确的图片。但是如果图片具有有较小方差,那么它就有较窄的频响范围,意味着图片中的边缘数量很少。正如我们所知道的,图片越模糊,其边缘就越少。
2、Paper
Analysis of focus measure operators for shape-from-focus
3、code
import cv2
def detect_pic_blur(img_path):
image = cv2.imread(img_path)
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)# 图片的灰度值
fm = cv2.Laplacian(gray,cv2.CV_64F).var()
print(f'图片的拉普拉斯值为:>>{fm}')
# 阈值设置为 120,只有大于该值的图片才是清晰的(随实际情况而定)
threshold = 120
if fm <= threshold:
return False
return True
if __name__ == '__main__':
path = "../imgs/butterfly2.png"
detect_pic_blur(path)
4、参考连接