计算机视觉Image processing
Image Processing:
1.image filtering: change range of image(可以理解为将图片的pixel范围变小,即颜色光彩度变低)
g(x) = t(f(x))
2.image warping: change domain of image
g(x) = f(t(x))
point processiong:
The simplest kind of range transformations are these independent of position x,y:
g = t(f)
实际上就是对image processing的一种细分,将图片为个体看成是点做个体,毕竟每个图片都是由一个一个point组成的。
Power-law Transformation:
其中的一种转换:

Contrast Stretching:
另一种转换,可以理解为对图片的一种拉伸:


拉伸的程度觉得图片的亮暗,即影响每个points的亮暗。
Neighborhood Processing (Filtering):
例子:

Filtering Noise:
图像降噪方法的目标是从嘈杂的测量中还原出原始图像。
例子:

将90四周的值利用平均值填充。上图中
则变成10。以此类推。
详细步骤:
1.扩展:
上下左右邻近相等传递值:3x3–>5x5

2.对每个3x3进行平均数值填充:并将值写在新的3x3的相对位置。

这样以来可以发现那个突出的120变得和周围没有那么’格格不入‘了。以上方法所获得的kernel叫做mean kernel。
核其实是一组权重,决定了如何利用某一个点周围的像素点来计算新的像素点,核也被称为卷积矩阵,对一个区域的像素做调和或者卷积运算,通常基于核的滤波器被称为卷积滤波器。
Gaussian Filtering:
A Gaussian kernel gives less weight to pixels further from the center of the window.

关于sigma(σ)对于图像的影响,可参考文章:
sigma对于图像的影响
Image Border
1.Ignore
Output image will be smaller than original
2.Pad with constant values(可以用常数来填充图像边缘)
Can introduce substantial 1 st order derivative values(可以引入大量的一阶导数)
3.Pad with reflection
Can introduce substantial 2 nd order derivative values
高斯降噪和平均值降噪对比:

左为均值滤波,右为高斯降噪。可以发现高斯降噪可以让图片更加的平滑。
Correlation vs Convolution(相关与卷积):
两者十分相似,可参考文章:
相关与卷积的区别
卷积的过程:
卷积的动态过程(2×2的为被卷积的数据x,3×3的为核h,最上边的4×4的为卷积结果y):

Edge Detection(边缘检测):
图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。
Discrete Edge Operators(边缘检测算子):
Sobel算子是典型的基于一阶导数的边缘检测算子,是离散型的差分算子。该算子对噪声具有平滑作用,能很好的消除噪声的影响。Sobel算子对于像素的位置的影响做了加权,与Prewitt算子、Roberts算子相比因此效果更好。
Sobel算子包含两组3x3的矩阵,分别为横向及纵向模板,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。
模板为:

求取图像梯度的方法:用模板算子:如sobel算子等,算子有方向区别,x方向算子,y方向算子。
通过模板可以得到Gx(x,y),Gy(x,y)两张与原图像尺寸一样的梯度图,Gx(x,y),Gy(x,y)分表表示x,y方向的梯度图。
Derivative Theorem of Convolution卷积的导数定理求边缘:

最高点即为边缘
Laplacian of Gaussian高斯拉普拉斯求边缘:
高斯拉普拉斯边缘检测算法的步骤:
1)对原图像进行Log卷积。
2)检测图像中的过零点( Zero Crossings,也即从负到正或从正到负)。
3)对过零点进行阈值化。
Where is the edge?
Zero-crossings of bottom graph !
Canny Edge Operator:
步骤:
用高斯滤波平滑图像(去掉细节,使大边缘在分割后效果更明显);
计算梯度幅值图像和角度赋值图像:M(x,y)=|Gx|+|Gy|;,角度幅值图像为a(x,y)=arctan[Gy/Gx],(x,y)为图像的取值范围为图像各像素点坐标;
对梯度幅值图像应用非最大抑制;
用双鱼之处理和链接分析来检测并链接边缘。
