数字图像处理之锐化处理

数字图像处理之锐化处理

                                          by方阳

版权声明:本文为博主原创文章,转载请指明转载地址

http://www.cnblogs.com/fydeblog/p/6748411.html

今天介绍图像的锐化处理

相关知识:拉普拉斯算子、sobel算子、锐化滤波

1.理论知识

拉普拉斯算子是一个是n维欧几里德空间中的一个二阶微分算子,它的定义如下:

在x方向上

在y方向上

合起来就是

拉普拉斯强调的是图像中灰度的突变,并不强调图像的灰度缓变(灰度缓变由一阶微分,也就是梯度,图像应用是sobel算子,具体下面介绍)

根据上边的表达式,可以确定拉普拉斯算子的模板

例如:

        [ 0 1 0

          1 -4 0

          0  1  0]

这是以90度增量旋转的拉普拉斯算子,如果以45度增量旋转会是怎样的结果呢,结果如下:

        [1 1 1

         1 -8 1

         1  1 1]

注:这里的旋转是绕算子的中心

然后说说sobel算子,它的定义是

那么怎样理解呢,这里插个链接,对sobel算子的推导、说明、应用和参考代码都有,个人觉得非常不错。

 http://blog.csdn.net/tonyshengtan/article/details/43698711

2.本次内容

2.1任意选择一副灰度图像,使用拉普拉斯算子对图像进行锐化滤波,并和原图像叠加,实现对图像的增强。 2.2任意选择一副图像,使用 sobel 算子对图像进行锐化滤波,观察滤波效果。 2.3任意选择一副图像,构造一个中心系数为-24 的 5×5 的类似于拉普拉斯模板对图像进行锐化,与中心系数为-8 的 3×3 拉普拉斯算子的结果相比,是否能得到更加清晰的结果?

2.1 锐化之拉普拉斯算子

参考代码:

Laplace=[0 1 0;1 -4 1;0 1 0];
I=imread('cameraman.tif');
I1=fy_Sharpen_filter(I,Laplace,2);
I2=I+I1;
figure;
subplot(1,3,1);
imshow(I);
title('原图');
subplot(1,3,2);
imshow(I1);
title('拉普拉斯锐化输出');
subplot(1,3,3);
imshow(I2);
title('与原图叠加');

 fy_Sharpen_filter函数参考代码:

%image_in为输入图像,Operator是算子,image_out为输出图像
function image_out=fy_Sharpen_filter(image_in,Operator,dimension)
[m,n]=size(image_in);
[a,b]=size(Operator);
if dimension==3
 n=n/3;%由于我的灰度图像是185x194x3的,所以除了3,你们如果是PxQ的,就不要加了
end
 A=zeros(m+2*(a-1),n+2*(b-1));%构造矩阵
 B=A;%用来存放均值后A的值
 C=zeros(m,n);%存最后的输出结果
 for i=a:m+a-1
     for j=b:n+b-1
        A(i,j)= image_in(i-a+1,j-b+1);%填充图像到A
     end
 end
 [L,T]=size(A);
 %以下是实现均值相关运算
 for i=1:L-a+1
     for j=1:T-b+1
         for p=1:a
             for q=1:b
         B(i+(a-1)/2,j+(b-1)/2)=B(i+(a-1)/2,j+(b-1)/2)+A(p+i-1,q+j-1)*Operator(p,q);
             end
         end
     end
 end
B=uint8(B/(a*b));
for x=a:m+a-1
     for y=b:n+b-1
     C(x-a+1,y-b+1)=B(x,y);
     end
 end
image_out=uint8(C);

 运行结果:

2.2 锐化之sobel算子

参考代码:

Sobel_x=[-1 -2 -1;0 0 0;1 2 1];
Sobel_y=[-1 0 1;-2 0 2;-1 0 1];
I3=imread('cameraman.tif');
I4=fy_Sharpen_filter(I3,Sobel_x,2);
I5=fy_Sharpen_filter(I3,Sobel_y,2);
figure;
subplot(1,3,1);
imshow(I3);
title('原图');
subplot(1,3,2);
imshow(I4);
title('sobel水平锐化输出');
subplot(1,3,3);
imshow(I5);
title('sobel垂直锐化输出');

 实验结果:

2.3 5x5与3x3

参考代码:

Laplace3x3=[ 1 1 1;
             1 -8 1;
             1 1 1];
Laplace5x5=[ 0  0  2  0  0;
             0  4  0  4  0;
             2  0 -24 0  2;
             0  4  0  4  0;
             0  0  2  0  0];
I6=imread('circuit.jpg');
I7=fy_Sharpen_filter(I6,Laplace3x3,3);
I8=fy_Sharpen_filter(I6,Laplace5x5,3);
figure;
subplot(1,3,1);
imshow(I6);
title('原图');
subplot(1,3,2);
imshow(I7);
title('Laplace3x3');
subplot(1,3,3);
imshow(I8);
title('Laplace5x5');

 运行结果:

3.结果分析

(1)由图一可看出,拉普拉斯算子可提取出了图像的边缘特征,与原图叠加后新的图形的边缘被增强了

(2)由图二可看出,sobel算子的横向锐化模板和纵向锐化模板得出结果不相同,横向锐化得出的图形也偏横向,纵向偏纵向;

(3)由图三可看出,laplace5X5的锐化结果明显比laplace3X3的结果更加清晰,原因一个是模板大小,另一个是模板的变化状态,laplace5X5比laplace3X3的模板大且变化幅度大,锐化出的特征也就越明显。

最后,才学疏浅,如有不当地方还请海涵,感谢指点!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

学界 | Ian Goodfellow牵头举办NIPS机器学习对抗赛,提升系统鲁棒性

via pulse2 每年年底举办的 NIPS 都是令学者为之一振的顶级学术盛会。AI 科技评论了解到,今年首次增加了一个新议程,即「NIPS 2017 Com...

35160
来自专栏大数据文摘

算法让你看到梵高星空之外的星空

18730
来自专栏AI研习社

机器学习当中的数学闪光:如何直观地理解 LDA

主题建模是指识别用于描述一组文档的最合适的主题。这些主题只有在主题建模过程中才会出现(因而称为隐藏的)。一个流行的主题建模方法就是广为人知的Latent Dir...

9440
来自专栏本立2道生

伪随机数生成算法

伪随机数生成算法在计算机科学领域应用广泛,比如枪击游戏里子弹命中扰动、数据科学里对样本进行随机采样、密码设计、仿真领域等等,背后都会用到伪随机数生成算法。

38820
来自专栏Python数据科学

P2P网贷信用评分项目分享(一)

此项目为kaggle竞赛平台的give me some credits。其目的是预测银行用户违约概率,以辅助银行判断是否要对用户进行放贷。关于风险控制建模的大致...

41730
来自专栏数值分析与有限元编程

Lanczos算法求自振频率

Lanczos算法是一种基于瑞利-里兹方法的正交变换法,该方法在许多有限元软件得到了应用。例如ANSYS中模态分析就有Lanczos算法。 ? Lanczos基...

36240
来自专栏计算机视觉战队

资源 | 深度学习入门和学习书籍

最近很多新入门的同学问我到底怎么入门,今天先给大家推荐一些有用的书籍和简单的入门。希望可以给有需要的朋友一些帮助,谢谢! 最近新出一本学习书籍,是我们学校焦李成...

44590
来自专栏IT派

Python 机器学习:多元线性回归

当y值的影响因素不唯一时,采用多元线性回归模型。例如商品的销售额可能不电视广告投入,收音机广告投入,报纸广告投入有关系,可以有 sales =β0+β1*TV+...

25640
来自专栏人工智能头条

写给大家看的机器学习书【Part5】机器学习为什么是可行的(中)

16650
来自专栏目标检测和深度学习

16岁高中生夺冠Kaggle地标检索挑战赛!而且竟然是个Kaggle老兵

anokas 赢得了谷歌地标检索挑战赛,在 Reddit 上引起了非常多的讨论,大家都非常关心他的年龄以及是否有其他人帮助。不过在 anokas 的 Kaggl...

12720

扫码关注云+社区

领取腾讯云代金券