我们常指的滤波是指空间滤波和频率滤波。
Images
白噪声就是在整个频率内分布的噪声
2D filtering
对图像做复原就涉及到怎么样滤波(去燥)的问题!!
对于一维数据做滤波,我们首先想到的是做滑动平均。
滑动平均去燥。滑动的平均窗口中除以9是为了做归一化。
Image filtering
Smoothing with box filter Cross-correlation
计算完之后拿到一个比原图像略小的输出图。输出图不是那么的平滑,含有噪声,因为在频域里面我们用的矩形框滤波在高频位置是有跳跃的,某些高频噪声是可以通过的,并不是一个真正的低频滤波器。
boxFilter in OpenCV
boxFilter在OpenCV中的两种实现方式。
boxFilter是不用归一化的,blur是归一化的
Convolution in 2D
卷积和滑动平均并不一样,可以从给出的公式中看到用了减号,但是对于一个对称的boxFilter是没有影响的。
由于公式中用的是减号,在运算时,从boxFilter的右下角拿值。
在这个公式中的f它是把原图像进行了翻转,但是在实际实现当中我们不对原图像翻转,因为原图像更大,翻转的是boxFilter
Filtering vs. Convolution
对于2维的filter我们称为相关(correlation)
卷积运算对于filter是对称的来说,卷积与相关计算结果是一样的,只有对那些非对称的filter,卷积与相关的计算结果是不一样的,但是他们的意义是大同小异的。
Important filter:Gaussian
这是一种真正的低频滤波器,高频是完全阻断的,在一维时2πa是有根号的,而二维没有
Smoothing with Gaussian filter
Practical matters
线性10不变性质系统,两个滤波器依次对图像做运算等于先对两个滤波器做运算再对图像做运算。这种性质对后面的加速运算效果会很明显。
注意:上面提到的相关与卷积运算都是一种线性的操作。
Median filter(中值滤波器)
这是个非线性滤波器。
Bilateral filter(双边滤波器)是种保边的滤波器,不但能滤除噪声还能保证边缘的陡峭性,效果很好就是会很慢,可以在线下使用。
还有自适应滤波器等等
Median filter
Summary
对图像增强,去噪,增强对比度方面用的非常多。
数字散斑相关方法
学习这些首先眼界要宽,不仅仅局限于当前最火最热的话题比如深度学习,使得所有的问题都想着用深度学习来解决,没有他不行,不是这样的!!眼界不能这么狭隘,很多基本方法也可能会解决工业方面的大问题。
爬山法,最快下降法,预测算法,根据前后两个形变位置的关系,缩小搜索的个数,减小计算量。
Edge detection
计算机几何视觉中的应用
Why do we care about edges?
What Causes an Edge?(边缘是怎么产生的)
Image Features -- Edges
Edge detection(1D)
Digital Approximation of 1st derivatives
就是用1*3的卷积模版在图像上进行滑动,得到的输出值就df(x)/dx
Edge Detection(2D)
Effects of noise
真实的图片数据是有噪声的,直接拿f(x)来做微分的话,得到的梯度 噪声是非常大的,无法找到边缘的位置。所以在拿到原图像之后先去噪,再求微分。
Noise cleaning and Edge Detection
示例:
Sobel Edge Detector
对于图像中心位置给出的权重更大,远离图像中心位置给出的权重更小,这样的一种滤波器也是很常用的。
Other Filters
Robinson Compass Masks
对滤波器进行不同的翻转会得到不同的边缘。
通过不同的mask进行卷积运算,我们就可以抽取到图片中不同的某些边缘信息,再将他们组合起来作为图像的某种结果的表达。抽取出来的Robinson信息是可以作为图像的检索,识别等等操作。
Other edge detectors - second-order derivative filters(1D)
Noise cleaning and Edge Detection
Edge Detection(2D)
图像的拉普拉斯(Laplacian)就是图像的二阶导数。