拉普拉斯变换基本应用Word格式.docx
《拉普拉斯变换基本应用Word格式.docx》由会员分享,可在线阅读,更多相关《拉普拉斯变换基本应用Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
首先要研究图像边缘检测,就要先研究图像去噪和图像锐化。
前者是为了得到飞更真实的图像,排除外界的干扰,后者则是为我们的边缘检测提供图像特征更加明显的图片,即加大图像特征。
早期的经典算法有边缘算子法、曲面拟合法、模版匹配法等。
经典的边缘检测算法是对原始图像中像素的某小领域米构造边缘检测算子,常用的边缘检测算子有Roberts算子、Sobel算子、Laplacian算子、Canny算子等。
三·
应用步骤
用拉普拉斯变换进行数字图像处理,需要借用计算机上的Matlab软件去进行程序编码和运行来实现。
下边是应用步骤:
(一)、选好需要进行处理的照片,用拉普拉斯算子实现数字图像的边缘检测。
保存检测后图像进行分。
(二)、用Matlab软件编辑代码编写拉普拉斯算子对图片进行处理的程序。
(三)、用拉普拉斯算子得到的图像处理后的一系列结果。
四·
用MATLAB实现步骤
(1)打开计算机,安装和启动MATLAB程序。
(2)窗口左边的currentfolder下的就是读取图片的默认路径,图片放置于程序所保存的文件夹内。
(3)调用MATLAB工具箱中的拉普拉斯算子编写函数程序。
(4)调入、显示获得的图像,图像存储格式应为“.jpg”。
(5)对该程序进行编译,检在错误并纠正。
(6)运行,并显示结果,比较差异。
五·
利用MATLAB语言编写的数字图像处理的源代码
i=imread('
img.jpg'
);
%读入图片
i1=rgb2gray(i);
%把rgb图像转换成灰度图像
bw1=edge(i1,'
log'
0.005);
%做阈值为0.001的高斯—拉普拉斯(Log)算法
figure
(1),imshow(i);
%显示原图
title('
原图像'
figure
(2),imshow(i1);
%显示灰度图像
灰度图像'
figure(3),imshow(bw1);
%显示高斯—拉普拉斯(Log)边缘检测后的图
边缘检测后图像'
figure(4),
subplot(1,3,1);
imshow(i);
原始图像'
%显示原始图像
J=double(i);
%将图像转化为归一化的double类图像
K=[0-10%拉普拉斯运算模板
-14.5-1
0-10];
L=imfilter(J,K,'
replicate'
%图像进行滤波
subplot(1,3,2);
imshow(L,[]);
拉普拉斯算子增强图像'
H=fspecial('
unsharp'
sharpened=imfilter(i,H,'
%对图像进行拉普拉斯锐化
subplot(1,3,3);
imshow(sharpened);
锐化处理后图像'
k=[111;
1-81;
111];
%对角线的中心为8的拉普拉斯运算模板
L1=J-imfilter(J,k,'
%用原图减去此滤波结果(以还原失去的灰度色调)
figure(5);
subplot(1,2,1);
imshow(L1,[]);
%显示图像
中心为8的拉普拉斯算子'
1-61;
%对角线的中心为8的拉普拉斯运算模板
L2=J-imfilter(J,k,'
subplot(1,2,2);
imshow(L2,[]);
中心为6的拉普拉斯算子'
I_origin=imread('
girl.jpg'
[size_x,size_y,size_z]=size(I_origin);
%读取图像的大小
ifsize_x>
1080%对图像进行适当的压缩
I_origin2=imresize(I_origin,1080/double(size_x));
else
I_origin2=I_origin;
end
%----方法一%先将彩色图像转化为灰度图像然后进行边缘检测
I_gray=rgb2gray(I_origin2);
%将图像转化为灰度图
figure('
Name'
'
对灰度图的边缘检测'
subplot(1,2,1),imshow(I_origin2),title('
原图'
subplot(1,2,2),imshow(I_gray),title('
灰度图'
Edge_gray=edge(I_gray,'
%对灰度图像进行边缘检测
%----方法二%将彩色图分解为RGB分量再进行边缘检测、、、
%---------------提取RGB分量并显示
Instance_R=I_origin2(:
:
1);
Instance_G=I_origin2(:
2);
Instance_B=I_origin2(:
3);
原图的RGB分量'
subplot(2,2,1),imshow(I_origin2),title('
Origin'
subplot(2,2,2),imshow(Instance_R),title('
VectorR'
subplot(2,2,3),imshow(Instance_G),title('
VectorG'
subplot(2,2,4),imshow(Instance_B),title('
VectorB'
%---------------对RGB分量进行边缘检测并合并
Edge_R=edge(Instance_R,'
Edge_G=edge(Instance_G,'
Edge_B=edge(Instance_B,'
rgb=im2uint8(cat(3,Edge_R,Edge_G,Edge_B));
RGB分量的边缘检测'
subplot(2,2,2),imshow(Edge_R),title('
LaplaceVectorR'
subplot(2,2,3),imshow(Edge_G),title('
LaplaceVectorG'
subplot(2,2,4),imshow(Edge_B),title('
LaplaceVectorB'
两种检测方法的对比'
subplot(1,2,1),imshow(Edge_gray),title('
方法一'
subplot(1,2,2),imshow(rgb),title('
方法二'
%灰度图的边缘检测与彩色图分别除去RGB分量的边缘检测对比
image_sub1'
subplot(2,2,1),imshow(Edge_gray),title('
Gray'
subplot(2,2,2),imshow(cat(3,zeros(size(Edge_R)),Edge_G,Edge_B)),title('
WithoutR'
subplot(2,2,3),imshow(cat(3,Edge_R,zeros(size(Edge_G)),Edge_B)),title('
WithoutG'
subplot(2,2,4),imshow(cat(3,Edge_R,Edge_G,zeros(size(Edge_B)))),title('
WithoutB'
%对彩色图执行RGB边缘检测后取灰度化与灰度化边缘检测对比
image_sub2'
subplot(1,2,2),imshow(rgb2gray(rgb)),title('
RGBtoGray'
六·
MATLAB程序文件夹内容
七·
实验结果
(一)对原图先转为灰度图像然后用拉普拉斯算子进行边缘检测。
(二)用拉普拉斯算子增强图像、对图像进行锐化,对比中心不同的拉普拉斯运算模板对图像增强后效果。
(三)、先对原图转化出一份灰度图,用来对灰度图和原彩色图像分别进行边缘检测后图像对比、提取原图像的RGB分量。
(四)、对提取RGB分量后的图像边缘检测、两种不同检测方法检测后图像进行对比。
(五)、用灰度图进行边缘检测后图像和提取RGB后图像进行减不同分量后的边缘检测后图像对比,对灰度图和彩色图分别边缘检测后图像对比。