【数字图像处理matlab】sobel、prewitt算子图像锐化

【数字图像处理matlab】sobel、prewitt算子图像锐化

读入一张影像,使用sobel和prewitt算子实现图像锐化

function F=sharper(image)
%调用代码---------------------------
% imageR=imread('eye.jpg'); 
% image=rgb2gray(imageR); sharper(image);
#--------------------------------

[row,column]=size(image);
%sobel算子锐化,4邻域进行加权差分,对边缘的检测更加精确
t1=[-1,-2,-1;0,0,0;1,2,1];
t2=[-1,0,1;-2,0,2;-1,0,1];
%Prewitt算子锐化,较多的考虑了邻域问题
t3=[-1,-1,-1;0,0,0;1,1,1];          
t4=[-1,0,1;-1,0,1;-1,0,1];

Image1=zeros(row-1,column-1);
Image2=zeros(row-1,column-1);
for i=1:row-2
    for j=1:column-2
        I=double([image(i,j),image(i,j+1),image(i,j+2);
            image(i+1,j),image(i+1,j+1),image(i+1,j+2);
            image(i+2,j),image(i+2,j+1),image(i+2,j+2);]);
        Image1(i,j)=sum(sum(t1.*I))+sum(sum(t2.*I));
        Image2(i,j)=sum(sum(t3.*I))+sum(sum(t4.*I));
    end
end
subplot(1,3,1);imshow(image);
title('原图')
subplot(1,3,2);imshow(uint8(Image1));  
title('Sobel梯度空间锐化')
subplot(1,3,3);imshow(uint8(Image2));    
title('Prewitt算法空间锐化')

end

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值