1、数学意义上的梯度
在理解图像梯度是什么的时候,我们首先要回忆一下以前学习过得梯度是什么?
见链接:
https://blog.csdn.net/m0_37957160/article/details/113678344
一句话梯度是一个向量,梯度向量就像一个指路明灯一样,他永远指向方向导数变化最大的那个方向,那么我的这个梯度模的大小就等于方向导数最大的那个大小。
在数学上,梯度的本意是一个向量,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)
2、灰度梯度
百科解读灰度梯度:
把图像看成二维离散函数,灰度梯度其实就是这个二维离散函数的求导,用差分代替微分(由于数字图像是离散的二维图像,故用差分代替微分),求取图像的灰度梯度。常用的一些灰度梯度模板有:Roberts 梯度、Sobel 梯度、Prewitt 梯度、Laplacian 梯度。
3、图像梯度
图画梯度:维基百科关于Image Gradient(图画梯度)的
“图画梯度是指图画强度或色彩的方向改动。图画梯度是图画处理的根底结构之一。例如,Canny边际检测器运用图画梯度进行边际检测。在用于数字图画编辑的图形软件中,梯度或色彩梯度一词也用于表明色彩的逐步混合,能够以为是从低到高值的均匀渐变,如下图中从白色到黑色所运用的渐变。数学上,一个双变量函数(这里是图画强度函数)在每个图画点处的梯度是一个二维向量,其分量由水平缓笔直方向上的导数给出。在每个图画点上,梯度向量指向或许最大强度增加的方向,梯度向量的长度对应于该方向的改动率。”
图像梯度:百科解读
微分就是求函数的变化程度(能否用直线增量去代替曲线增量的问题当变化足够小时),即导数(梯度)(为什么大角度这样解释我觉得不太严谨????),那么对于图像来说,可不可以用微分来表示图像灰度的变化率呢,当然是可以的,前面我们提到过,图像就是函数嘛。(可以使用导数(梯度),衡量图像灰度的变化率,因为图像就是函数。正因如此,我们引入的图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导。)
在微积分中,一维函数的一阶微分的基本定义是这样的:
而图像是一个二维函数f(x,y),其微分当然就是偏微分。因此有:
因为图像是一个离散的二维函数,ϵ不能无限小,我们的图像是按照像素来离散的,最小的ϵ就是1像素。因此,上面的图像微分又变成了如下的形式(ϵ=1):
这分别是图像在(x, y)点处x方向和y方向上的梯度,从上面的表达式可以看出来,图像的梯度相当于2个相邻像素之间的差值。
----------------------------这就是个人理解的图像梯度的解读
那么,这个梯度(或者说灰度值的变化程度)如何增强图像的清晰度呢?
我们先考虑下x方向,选取某个像素,假设其像素值是100,沿x方向的相邻像素分别是90,90,90,则根据上面的计算其x方向梯度分别是10,0,0。这里只取变化率的绝对值,表明变化的大小即可。
我们看到,100和90之间亮度相差10,并不是很明显,与一大群90的连续灰度值在一起,轮廓必然是模糊的。我们注意到,如果相邻像素灰度值有变化,那么梯度就有值,如果相邻像素灰度值没有变化,那么梯度就为0。如果我们把梯度值与对应的像素相加,那么灰度值没有变化的,像素值不变,而有梯度值的,灰度值变大了。
新图像是原图像与梯度求解后的图像(叫梯度图像)相加。
在上边这幅图中可以看出,如果一副图像的相邻灰度值有变化,那么梯度就存在,如果图像相邻的像素没有变化,那么梯度就是0,把梯度值和相应的像素相加,那么灰度值没有变化的,像素就没有变化,灰度值变了,像素值也就变了。我们看到,相加后的新图像,原图像像素点100与90亮度只相差10,现在是110与90,亮度相差20了,对比度显然增强了,尤其是图像中物体的轮廓和边缘,与背景大大加强了区别,这就是用梯度来增强图像的原理。
总结:将图像函数f(x,y)梯度表达式表示出来:(连续函数的话使用的是导数,下面图像是离散的,所以使用差分近似代替)
幅度:
方向角:
对于数字图像来说,相当于是二维离散函数求梯度,使用差分来近似导数:(差分近似代替上面导数的求解)
因此,像素点(x,y)处的梯度值和梯度方向分别是:
这里的平方+开方的,计算量太大,于是一般用绝对值来近似平方和平方根的操作,来降低计算量:
在上述的推论中我们得到,梯度的方向是函数变化最快的方向,所以当函数中存在边缘时,一定有较大的梯度值,相反,当图像中有比较平滑的部分时,灰度值变化较小,则相应的梯度也较小,图像处理中把梯度的模简称为梯度,由图像梯度构成的图像成为梯度图像。
一些经典的图像梯度算法是考虑图像的每个像素的某个邻域内的灰度变化,利用边缘临近的一阶或二阶导数变化规律,对原始图像中像素某个邻域设置梯度算子,通常我们用小区域模板进行卷积来计算,有Sobel算子、Robinson算子、Laplace算子等。
卷积操作见链接:
https://blog.csdn.net/m0_37957160/article/details/118861275?spm=1001.2014.3001.5501