一、简介
1 【摘要】
Laplace算子作为边缘检测之一,和Sobel算子一样也是工程数学中常用的一种积分变换,属于空间锐化滤波操作。拉普拉斯算子(Laplace Operator)是n维欧几里德空间中的一个二阶微分算子,定义为梯度(▽f)的散度(▽·f)。拉普拉斯算子也可以推广为定义在黎曼流形上的椭圆型算子,称为拉普拉斯-贝尔特拉米算子。
2 原理
拉普拉斯算子是二阶微分线性算子,在图像边缘处理中,二阶微分的边缘定位能力更强,锐化效果更好,因此在进行图像边缘处理时,直接采用二阶微分算子而不使用一阶微分。
3 边缘算法:laplacian
对噪声较为敏感,使噪声能力成分得到加强,容易丢失部分边缘方向信息,造成一些不连续的检测边缘,同时抗噪声能力较差。
二、源代码
clc;
clear;
hold off;
I = imread('lena.bmp');
figure(1);
imshow(I);
title('Lena原图');
% J1 = imnoise(I,'gaussian',0,0.01); %高斯噪声
% figure(2);
% imshow(J1);
% J2 = imnoise(I,'salt & pepper',0.02); %椒盐噪声
% figure(3);
% imshow(J2);
%--------------------二阶微分算子边缘检测-----------------------
c = [-1 -1 -1 %laplacian算子
-1 8 -1
-1 -1 -1]
I = double(I);
for j = 2:255
for i = 2:255
b1 = I(j-1,i-1);
b2 = I(j-1,i);
b3 = I(j-1,i+1);
b4 = I(j,i-1);
b5 = I(j,i);
b6 = I(j,i+1);
b7 = I(j+1,i-1);
b8 = I(j+1,i);
b9 = I(j+1,i+1);
buffer(j,i) = b1*c(1,1) + b2*c(1,2) + b3*c(1,3) + b4*c(2,1) + b5*c(2,2) + b6*c(2,3) + b7*c(3,1) + b8*c(3,2) + b9*c(3,3);
J(j,i) = uint8(buffer(j,i));
if J(j,i) < 0
J(j,i) = -J(j,i);
end
if J(j,i) > 255
J(j,i) = 255;
end
end
end
for i = 1:256
J(1,i) = I(1,i);
J(256,i) = I(256,i);
end
for j = 1:256
J(j,1) = I(j,1);
J(j,256) = I(j,256);
end
三、运行结果
四、备注
版本:2014a
完整代码或代写加QQ1564658423
标签:end,检测,图像,微分,二阶,边缘,算子,256 来源: https://www.cnblogs.com/homeofmatlab/p/14946124.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。