基于matlab的laplace图像处理代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于matlab的laplace图像处理代码

主函数

function mainRGB();

clear

clc

A=imread('1.jpg');%读入图像

B=A;

imshow(A);title('原图像');

R=A(:,:,1);%RGB图像的R分量

G=A(:,:,2);%RGB图像的G分量

B=A(:,:,3);%RGB图像的B分量

figure; imshow(R);title('R');

figure; imshow(G);title('G');

figure; imshow(B);title('B');

figure('Position',[100 100 850 450],'Name','RGB模型下的锐化','NumberTitle','off' );; subplot(231), imshow(A),title('RGB图像');%读出原图像和Laplace算子高提升滤波的图像rSharp=U23(R);

subplot(232),imshow(rSharp),title('R图像');

gSharp=U23(G);

subplot(234),imshow(gSharp),title('G图像');

bSharp=U23(B);

subplot(235),imshow(bSharp),title('B图像');

A(:,:,1)=rSharp;

A(:,:,2)=gSharp;

A(:,:,3)=bSharp;

subplot(133),imshow(A),title('RGB图锐化结果图');

figure;imshow(A);title('锐化后的图像');

function N=U23(M)%Laplace算子作图像锐化函数

[dep1,wide1]=size(M);

a1=double(M);

b1=size(M);

s1=ones(size(b1)); %取同图像同大小的矩阵s1,s2

s2=ones(size(b1));

new_image1=ones(size(b1)); %取同图像同大小的矩阵new_image为输出图像的矩阵sx1=[ 0 1 0;0 -2 0 ; 0 1 0]; %Laplace算子x方向

sy1=[0 0 0;1 -2 1;0 0 0]; %Laplace算子y方向

for i=2:dep1-1 %利用Laplace算子作图像锐化

for j=2:wide1-1

x1(i,j)=0*a1(i-1,j-1) +1*a1(i-1,j) +0*a1(i-1,j+1)+0*a1(i,j-1)-2* a1(i,j) +0*a1(i,j+1)+0*a1(i+1,j-1)+a1(i+1,j)+0*a1(i+1,j+1);

y1(i,j)=0*a1(i-1,j-1)+0*2*

a1(i-1,j)+0*a1(i-1,j+1)+1*a1(i,j-1)-2*a1(i,j)+1*a1(i,j+1)+0*a1(i+1,j-1) +0*a1(i+1,j) +0*a1(i+1,j+1);

%s(i,j)=a(i,j)-x(i,j)-y(i,j);

s1(i,j)=a1(i,j)-x1(i,j)-y1(i,j);

if(s1(i,j)>0.5) %s1(i,j)的阈值判定

s1(i,j)=1;

end

new_image1(i,j)=a1(i,j)+s1(i,j);

end

end

for i=2:dep1-1 %对边缘进行操作

new_image1(i,1)=new_image1(i,2);

new_image1(i,wide1)=new_image1(i,wide1-1);

end

new_image1(1,:)=new_image1(2,:);

new_image1(dep1,:)=new_image1(dep1-1,:);

N=new_image1;

相关文档
最新文档