图像梯度
这里是引用https://blog.csdn.net/saltriver/article/details/78987096
梯度: 运算的对像是标量,运算出来的结果会是向量
图像梯度最主要的目的就是将不清晰的边缘变得清晰一些吧。
那么,这个梯度(或者说灰度值的变化率)的原理就是:
我们先考虑下x方向,选取某个像素,假设其像素值是100,沿x方向的相邻像素分别是90,90,90,则根据上面的计算其x方向梯度分别是10,0,0。这里只取变化率的绝对值,表明变化的大小即可
我们看到,100和90之间亮度相差10,并不是很明显,与一大群90的连续灰度值在一起,轮廓必然是模糊的。我们注意到,如果相邻像素灰度值有变化,那么梯度就有值,如果相邻像素灰度值没有变化,那么梯度就为0。如果我们把梯度值与对应的像素相加,那么灰度值没有变化的,像素值不变,而有梯度值的,灰度值变大了。
我们看到,相加后的新图像,原图像像素点100与90亮度只相差10,现在是110与90,亮度相差20了,对比度显然增强了,尤其是图像中物体的轮廓和边缘,与背景大大加强了区别,这就是用梯度来增强图像的原理。
举例子来讲会比较简单,如果现在的纯量场用一座山来表示,纯量值越大的地方越高,反之则越低.经过梯度这个运操作数的运算以后,会在这座山的每一个点上都算出一个向量,这个向量会指向每个点最陡的那个方向,而向量的大小则代表了这个最陡的方向到底有多陡.
图像散度
这里是引用https://www.zhihu.com/question/24074028/answer/26657334
散度: 运算的对像是向量,运算出来的结果会是纯量
散度的作用对像是向量场,如果现在我们考虑任何一个点(或者说这个点的周围极小的一块区域),在这个点上,向量场的发散程度,如果是正的,代表这些向量场是往外散出的.如果是负的,代表这些向量场是往内集中的.
一样,举例子:因为散度的作用对像是向量场,所以就不能用上面所讲的山来想象,这次要想象一个大广场里挤了很多人,如果每个人都在到处走动,是不是可以把每个人的行动都看成是一个向量,假如现在某人放了一个屁,周围的人(可能包含他自己)都想要赶快闪远一点,就会发现,在这块区域的人都往这小块区域以外的方向移动.对啦…这就是散度(你也可以想说是闪远一点的闪度…冷…),大家如果散得越快,散得人越多,这个散度算出来就就越大.
图像旋度
旋度: 运算的对像是向量,运算出来的结果会是向量
旋度的作用对象也是向量场,这次直接用上面的例子来讲:如果现在散开的众人都是直直的往那个屁的反方向散开,这时候你看到这些人的动线是不是就是一个标准的幅射状??不过事实上,每个人在闻到屁的时候是不会确切的知道屁到底是来自哪个方向的.而可能会走错方向,试过之后才发现不对劲,越找越臭.这时候你看到众人的走向不见得就是一个幅射状(大家都径向移动),而可能有一些切向移动的成份在(以屁发点为中心来看)旋度对应的就是这些切向移动的情况,相对来讲,散度对应的其实就是径向移动的情况.而一个屁,虽然可能会像上述的造成一些切向的移动,但理论上来讲,并不会使散开的众人较趋向于顺时钟转,或逆时钟转.在这种情况,顺时钟转的情况可以看作与逆时钟转的情况抵消,因此,在这情况下,旋度仍然是零.也就是说,一个屁能造成散度,而不会造成旋度…而甚么时候是有旋度的呢??如果这时候音乐一放,大家开始围着中间的营火手拉手跳起土风舞(当然是要绕着营火转的那种啦)这时候就会有旋度没有散度啦.(刚刚一直放屁的那位跑出去找厕所的除外)以上这三个,有一点一定要记得的.不论是梯度,散度,旋度,都是一种local的量(纯量,向量),所考虑的都是任何一点(其周围极接近,极小的小范围)的情况.以上举的例子因为要容易了解,所以都是针对二度空间向量为例,而且都是很大的东西,但广场是一个点,营火晚会也是一个点,纳须弥于芥子,这就请自行想象吧