滤波算法
深度学习和滤波算法的结合是一个很好的新方向,无论是理论上的结合还是直接的运用,都是非常好的融合算法。
最近做了很多的调研和实现,做一个小总结八,嘻嘻。
思维导图理一理 思维导图的出处
img_mean = cv2.blur(img, (5,5))# 均值滤波
img_Guassian = cv2.GaussianBlur(img,(5,5),0)# 高斯滤波
img_median = cv2.medianBlur(img, 5)# 中值滤波
img_bilater = cv2.bilateralFilter(img,9,75,75)# 双边滤波
滤波算法的历史
传统滤波
-
Gaussian_Filter:邻域内像素的加权平均灰度值去替代滑动窗口像素点的值
-
Median_Filter:滑动窗口取中值
-
Smoothing_Filter:滑动窗口取平均值
-
一阶微分算子:水平边缘,垂直边缘的,乘完再做均值
Differential / Sobel / Prewitt -
二阶微分算子: 只有一个窗口
laplacian:经过窗口之后求均值(容易受噪声影响,一般先做平滑处理,算子还分4邻域和8邻域)
Emboss虚焦,算子不一样,窗口之后是sum -
双边滤波器 算法原理链接
实现:cv源码实现 和 基于cv源码的python实现 和 opencv-python -
联合双边滤波平滑python实现
-
Canny边缘检测
做菜步骤:图像降噪,计算图像梯度,非极大值抑制,双阈值筛选,完事
但是opencv里面的canny没有直接处理的参数,需要自己先降噪=模糊。 -
Average_Pooling,Max_Pooling相当于不同的下采样
系统状态滤波
- 卡尔曼滤波 链接
图像评估
PSNR:Peak Signal to Noise Ratio”的缩写,即峰值信噪比,是一种评价图像的客观标准,它具有局限性,一般是用于最大值信号和背景噪音之间
特征检测
霍夫变换(Hough Transform)
主要思想:一条直线在平面直角坐标系(x-y)中可以用y=ax+b式表示,对于直线上一个确定的点(x0,y0),总符合y0-ax0=b,而它可以表示为参数平面坐标系(a-b)中的一条直线。因此,图像中的一个点对应参数平面的一条直线,同样,图像中的一条直线对应参数平面上的一个点。原理传送门