空间滤波

摘 要:本实验主要编写了能够完成两幅图像之间加、减、乘、除四种算术运算的函数以及对图像进行空域滤波的函数,主要实现了拉普拉斯图像锐化增强技术,一阶导数锐化增强技术。


技术论述
(1)图像相加一般用于对同一场景的多幅图像求平均效果,以便有效地降低具有叠加性质的随机噪声。直接采集的图像品质一般都较好,不需要进行加法运算处理,但是对于那些经过长距离模拟通讯方式传送的图像,这种处理是必不可少的。
(2)图像减法也称为差分方法,是一种常用于检测图像变化及运动物体的图像处理方法。图像减法可以作为许多图像处理工作的准备步骤。例如,可以使用图像减法来检测一系列相同场景图像的差异。图像减法与阈值化处理的综合使用往往是建立机器视觉系统最有效的方法之一。在利用图像减法处理图像时往往需要考虑背景的更新机制,尽量补偿因天气、光照等因素对图像显示效果造成的影响。
(3)两幅图像进行乘法运算可以实现掩模操作,即屏蔽掉图像的某些部分。一副图像乘以一个常数通常被称为缩放,这是一种常见的图像处理操作。如果使用的缩放因数大于1,那么将增强图像的亮度,如果因数小于1则会使图像变暗。缩放通常将产生比简单添加像素偏移量自然得多的明暗效果,这是因为这种操作能够更好地维持图像的相关对比度。
(4)除法运算可用于校正成像设备的非线性影响,这在特殊形态的图像处理中常常用到。图像除法也可以用来检测两幅图像间的区别,但是除法操作给出的相应像素值的变化比率,而不是每个像素的绝对差异,因而图像除法也称为比率变化。
(5)平滑滤波器用于模糊处理和降低噪声。模糊处理经常用于预处理任务中,例如在(大)目标提取之前去除图像中的一些琐碎细节,以及其桥接直线或曲线的缝隙。通过线性滤波和非线性滤波模糊处理,可以降低噪声。
(6)非锐化掩蔽的处理过程由下列步骤组成:
1、模糊原图像。
2、从原图像中减去模糊图像(产生的差值图像称为模板)。
3、将模板加到原图像上。
这里写图片描述


实验结果讨论
如图1-1.1和1-1.2为原始图像
这里写图片描述
如图1-2.1、图1-2.2所示,分别为图1-1.1与图1-1.2相加、相减的结果。
这里写图片描述
如图1-3.1为图1-1.1与图1-1.2相乘的结果;图1-3.2、图1-3.3、为图1-1.1乘以常数0.5与1.5的结果;图1-3.4所示为图1-1.1与图1-1.2相除的结果。
这里写图片描述
如图1-4.1为原始图像。图1-4.2与图1-4.3分别为采用如图(a)、图(b)所示的模板对图1-4.1进行平滑滤波处理后的图像。图1-4.4与图1-4.5分别为如图(c)、图(d)所示的模板对图1-4.1进行的拉普拉斯图像锐化增强后的结果。图1-4.6与图1-4.7分别为如图(e)、图(f)所示的模板对图1-4.1进行的一阶导数锐化增强后的结果。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述


%图像相加
function z=imjia(x,y)
[r,c]=size(x);
z=zeros(r,c);
for i=1:r
    for j=1:c
        z(i,j)=x(i,j)+y(i,j);
    end
end
z=uint8(z);
%图像相减
function z=imjian(x,y);
[r,c]=size(x);
z=zeros(r,c);
for i=1:r
    for j=1:c
        z(i,j)=abs(x(i,j)-y(i,j));
    end
end
z=uint8(z);
%图像相乘
function z=imcheng(x,y,s)
[r,c]=size(x);
z=zeros(r,c);
if(s)
    for i=1:r
        for j=1:c
            z(i,j)=x(i,j)*y(i,j);
        end
    end
    z=uint8(z);
else
    for i=1:r
        for j=1:c
            z(i,j)=x(i,j)*y;
        end
    end
    z=uint8(z);
end
%图像相处
function z=imchu(x,y)
[r,c]=size(x);
z=zeros(r,c);
for i=1:r
    for j=1:c
        if (y(i,j)~=0)
        z(i,j)=x(i,j)/y(i,j);
        else 
        z(i,j)=255
        end
    end
end
z=uint8(z);
%-----------------------------------------------------------------------------------------------
function z=spafilter(x,M)
%功能:平滑滤波
%输入参数:原图像x,3*3平滑滤波器模板
%输出参数:经平滑滤波后的图像
[r,c]=size(x);
y=double(x);
z=zeros(r,c);
    for i=2:r-1
        for j=2:c-1
               z(i,j)=y(i-1,j-1)*M(1,1)+y(i-1,j)*M(1,2)+y(i-1,j+1)*M(1,3)...
                        +y(i,j-1)*M(2,1)+y(i,j)*M(2,2)+y(i,j+1)*M(2,3)...
                        +y(i+1,j-1)*M(3,1)+y(i+1,j)*M(3,2)+y(i+1,j+1)*M(3,3);
        end
    end
%-------------------------------------------------------------------------------------------------------------
function filterys
%(a)实现图像的平滑滤波,其中的模板使用图3.32所示的掩模
%M1,M2分别为模板
    x=imread('Fig3.38(a).jpg');
    M1=[1 1 1;1 1 1;1 1 1]/9;
    M2=[1 2 1;2 4 2;1 2 1]/16;
    z1=spafilter(x,M1);
    z2=spafilter(x,M2);
    imwrite(z1,'3.32a.jpg');
    imwrite(z2,'3.32b.jpg');
%(b)实现拉普拉斯图像锐化增强技术
    M3=[0 -1 0;-1 4 -1;0 -1 0];
    M4=[-1 -1 -1;-1 8 -1;-1 -1 -1];
    z3=spafilter(x,M3);
    gmask=imjian(x,z3);
    g=imjia(x,gmask);
    imwrite(g,'3.37c.jpg');
    z4=spafilter(x,M4);
    hmask=imjian(x,z4);
    h=imjia(x,hmask);
    imwrite(h,'3.37d.jpg');
%(c)一阶导数锐化技术
    M5=[-1 -2 -1;0 0 0;1 2 1];
    M6=[-1 0 1;-2 0 2;-1 0 1];
    z5=spafilter(x,M5);
    amask=imjian(x,z5);
    a=imjia(x,amask);
    imwrite(a,'3.41d.jpg');
    z6=spafilter(x,M6); bmask=imjian(x,z6);
    b=imjia(x,bmask); imwrite(b,'3.41e.jpg');
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值