Laplacian算子是最简单的各向同性微分算子,具有旋转不变性,比较适用于改善因为光线的漫反射造成的图像模板。
由于拉普拉斯是一种微分算子,它的应用强调图像中灰度的突变即降低灰度缓慢变化的区域,这将产生一幅把图像中的浅灰色边线和突变点叠加到暗背景中的图像。将原始图像和拉普拉斯图像叠加在一起的方法可以保护拉普拉斯边缘分割处理的效果,同时又能复原背景信息,因此,记住拉普拉斯定义是很重要的。如果所使用的定义具有负的中心系数,那么就必须将原始图像减去经拉普拉斯变换后的图像,从而得到边缘分割的结果,反之,如果拉普拉斯定义的中心系数为正,则原始图像要加上经拉普拉斯变换后的图像。
使用MATLAB进行Laplacian算子的可视化边缘检测,程序如下: - clc,clear,close all % 清屏、清工作区、关闭窗口
- warning off % 消除警告
- feature jit off % 加速代码执行
- [filename ,pathname]=...
- uigetfile({'*.bmp';'*.jpg';},'选择图片'); %选择图片路径
- str = [pathname filename]; %合成路径+文件名
- i = imread(str); % 读图
- % i= rgb2gray(im);
- hsi=rgb2hsi(i);
- H = hsi(:, :, 1);
- S = hsi(:, :, 2);
- I = hsi(:, :, 3);
- im= I;
- im = medfilt2(im,[5,5]); % 中值滤波
- subplot(1,2,1);
- imshow(i);title('原图像'); % 显示原图像
- m=fspecial('laplacian'); % 应用 laplacian算子图像边缘检测
- j=filter2(m,im); % laplacian算子滤波锐化
- subplot(1,2,2);
- imshow(j,[]);title(' laplacian算子图像边缘检测'); % 显示 laplacian算子图像边缘检测
复制代码
|