Opencv学习笔记 - 使用快速傅立叶变换(FFT)检测图像清晰度
2023-09-14 09:01:35 时间
通常的图像清晰度检测大都是计算sobel、拉普拉斯算子的方差,不过大多数时候,拉普拉斯算子方法需要进行大量的手动调整,才能定义图像是否被视为模糊。如果您可以控制照明条件,环境和图像捕获过程,则效果很好,否则不会得到理想的结果。
图像清晰度检测通常的目的是图像质量分级、自动丢弃模糊/低质量的图像、OCR应用于实时视频流(识别其中质量好的图片)等等。
在计算机视觉方面,我们经常将FFT视为代表两个域中的图像的图像处理工具:傅立叶(即频域)域、空间域,因此,FFT以实部和虚部表示图像。通过分析这些值,我们可以执行图像处理例程,例如模糊,边缘检测,阈值化,纹理分析,甚至可以进行模糊检测。
import matplotlib.pyplot as plt
import numpy as np
import argparse
import imutils
import cv2
def detect_blur_fft(image, size=60, thresh=10, vis=False):
# grab the dimensions of the image and use the dimensions to
# derive the center (x, y)-coordinates
(h, w) = image.shape
(cX, cY) = (int(w / 2.0), int(h / 2.0))
# compute the FFT to find the frequency transform, then shift
# the zero frequency component (i
相关文章
- Opencv Cookbook阅读笔记(四):用直方图统计像素
- 机器学习笔记 基于CNN+OpenCV的人脸活体检测
- Opencv学习笔记 - ArUco,一个开源的微型的现实增强库
- Opencv学习笔记 Android下调用Opencv Sdk
- Opencv学习笔记 - 使用最小二乘法拟合平面
- Opencv学习笔记 图像拼接一全景拼接
- Opencv学习笔记 各向异性滤波/均值滤波/高斯滤波/中值滤波/加权中值滤波/高斯低通滤波
- Opencv学习笔记 模拟长曝光效果
- Opencv学习笔记 识别图片中的条码区域
- Opencv学习笔记 - 多项式求解和拟合
- Opencv学习笔记 在OpenCV中使用Mask R-CNN
- Opencv学习笔记 - OpenCV 4机器学习算法简介
- 机器学习笔记 - 基于OpenCV图像处理和手写数字识别进行数独求解
- 《学习opencv》笔记——矩阵和图像处理——cvMax,cvMaxS,cvMerge,cvMin and cvMinS
- Python学习笔记十一之一个简单的opencv阈值分割实例,求取圆度、轮廓椭圆拟合
- Python学习笔记十之Opencv图像处理:阈值、滤波、形态学、梯度、轮廓提取、FFT
- 【OpenCV笔记一】Mac安装OpenCV环境及demo