高斯算子 Sobel(索贝尔) 拉普拉斯算子

1.高斯算子

根据像素点的距离然后加权平均利用高斯函数。

高斯函数的提点就是距离原点越近得到的权重越高距离原点越远得到的权重就越小。得到高斯矩阵后还需要把各个权重加起来的和为1。

高斯滤波的好处是可以消除高斯噪声(它的概率密度函数服从高斯分布(即正态分布)的一类噪声)。



2.Sobel算子

对于f(t),其导数f'(t)反映了每一处的变化趋势.在变化最快的位置其导数最大. sobel算子的思路就是模拟求一阶导数.

sobel算子是一个离散差分算子.它计算图像像素点亮度值的近似梯度.

图像是二维的,即沿着宽度/高度两个方向.

我们使用两个卷积核对原图像进行处理:


很好理解,原始像素灰度值-->(右边像素值-左边像素值),反映了水平方向的变化情况.

3.Laplace算子

首先,拉普拉斯算子是最简单的各向同性微分算子,它具有旋转不变性。一个二维图像函数的拉普拉斯变换是各向同性的二阶导数,定义为:



图1(a)表示离散拉普拉斯算子的模板,图1(b)表示其扩展模板,图1(c)则分别表示其他两种拉普拉斯的实现模板。从模板形式容易看出,如果在图像中一个较暗的区域中出现了一个亮点,那么用拉普拉斯运算就会使这个亮点变得更亮。因为图像中的边缘就是那些灰度发生跳变的区域,所以拉普拉斯锐化模板在边缘检测中很有用。一般增强技术对于陡峭的边缘和缓慢变化的边缘很难确定其边缘线的位置。但此算子却可用二次微分正峰和负峰之间的过零点来确定,对孤立点或端点更为敏感,因此特别适用于以突出图像中的孤立点、孤立线或线端点为目的的场合。同梯度算子一样,拉普拉斯算子也会增强图像中的噪声,有时用拉普拉斯算子进行边缘检测时,可将图像先进行平滑处理。

图像锐化处理的作用是使灰度反差增强,从而使模糊图像变得更加清晰。


这种简单的锐化方法既可以产生拉普拉斯锐化处理的效果,同时又能保留背景信息,将原始图像叠加到拉普拉斯变换的处理结果中去,可以使图像中的各灰度值得到保留,使灰度突变处的对比度得到增强,最终结果是在保留图像背景的前提下,突现出图像中小的细节信息。



C++实现

#include "cv.hpp"

#include "highgui.hpp"

using namespace cv;

int main(int argc, char* argv[])

{

    Mat src = imread("1.jpg");

    Mat dst;

    imshow("src", src);

    Laplacian(src, dst, src.depth());

    Sobel(src, dst, src.depth());

    //imwrite("laplacian.jpg", dst);

    imshow("dst", dst);

    imshow("dst1", dst);

    waitKey();

    return 0;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。