Matlab梯度法图像锐化

 [I,map]=imread('img1.bmp');   %读入图像
imshow(I,map);                  %显示原图像
I=double(I);                      %转换为double类型
[Gx,Gy]=gradient(I);                 % 计算梯度
G=sqrt(Gx.*Gx+Gy.*Gy);           % 水平垂直差分
J=I;
K=find(G>=7);                   %指定灰度级
J(K)=255;
figure,imshow(J,map);              % 显示处理后的图像

 

转自:http://zhidao.baidu.com/question/160216024.html

 

01function ruihua_Callback(hObject, eventdata, handles)

02% hObject    handle to Untitled_1 (see GCBO)
03% eventdata  reserved - to be defined in a future version of MATLAB
04% handles    structure with handles and user data (see GUIDATA)
05global img1;
06axes(handles.axes1);
07[fname,fpath]=uigetfile('*.bmp;*.jpg','open a file');
08filename=[fpath,fname];
09[I,map]=imread(filename);
10imshow(I,map);
11I=double(I);
12[Gx,Gy]=gradient(I);       % 计算梯度
13G=sqrt(Gx.*Gx+Gy.*Gy);   % 注意是矩阵点乘
14  
15J1=G;                  % 第一种图像增强
16  
17J2=I;                   % 第二种图像增强
18K=find(G>=7);
19J2(K)=G(K);
20  
21  
22J3=I;                   % 第三种图像增强
23K=find(G>=7);
24J3(K)=255;
25  
26J4=I;                   % 第四种图像增强
27K=find(G<=7);
28J4(K)=255;
29  
30  
31J5=I;                   % 第五种图像增强
32K=find(G<=7);
33J5(K)=0;
34Q=find(G>=7);
35J5(Q)=255;
36  
37figure,                 %显示图形
38subplot(2,3,1),imshow(I,map);
39title('原图像');
40subplot(2,3,2),imshow(J1,map);
41title('第一种');
42subplot(2,3,3),imshow(J2,map);
43title('第二种');
44subplot(2,3,4),imshow(J3,map);
45title('第三种');
46subplot(2,3,5),imshow(J4,map);
47title('第四种');
48subplot(2,3,6),imshow(J5,map);
49title('第五种');

转自:http://www.oschina.net/code/snippet_104512_4395

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值