【计算机视觉】图像分割与特征提取——频域增强(低通滤波&高通滤波)

这篇具有很好参考价值的文章主要介绍了【计算机视觉】图像分割与特征提取——频域增强(低通滤波&高通滤波)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

个人简介: 

> 📦个人主页:赵四司机
> 🏆学习方向:JAVA后端开发 
> ⏰往期文章:SpringBoot项目整合微信支付
> 🔔博主推荐网站:牛客网 刷题|面试|找工作神器
> 📣种一棵树最好的时间是十年前,其次是现在!
> 💖喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。

前言:

通过这篇文章你将了解卷积理论与频域的联系,并且你还将学会频域增强的两个常用方法——低通滤波和高通滤波。

目录

一:实验原理

二:低通滤波

三:高通滤波

四:代码实战

1.实验内容

2.Butterworth低通滤波器

3.Butterworth高通滤波器

4.实验分析


一:实验原理

卷积理论是频域技术的基础。设函数f(x,y)与线性位不变算子h(x,y)的卷积结果是g(x,y),即

g(x,y)=h(x,y)*f(x,y)     

那么,根据卷积定理在频域有

G(u,v)=H(u,v)F(u,v)     

其中,G(u,v)、H(u,v)、F(u,v)分别是 g(x,y)、h(x,y)、f(x,y)的傅立叶变换。频域增强的主要步骤是:

  1. 计算所需增强图的傅立叶变换;
  2. 将其与一个(根据需要设计的)转移函数相乘;
  3. 在将结果进行傅立叶反变换以得到增强的图。

常用的频域增强方法有低通滤波和高通滤波。下面分别介绍这两种滤波方法。

二:低通滤波

图像的能量大部分集中在幅度谱的低频和中频部分,而图像的边缘和噪声对应于高频部分。因此能降低高频成分幅度的滤波器就能减弱噪声的影响。

Butterworth低通滤波器是一种物理上可以实现的低通滤波器。n阶截断频率为d0的Butterworth低通滤波器的转移函数为:

 计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能                      

%  实现Butterworth低通滤波器

 I1=imread('lena.png');

 I2=imnoise(I1,'salt');

 f=double(I2);

 g=fft2(f);     %采用傅立叶变换

 g=fftshift(g); %数据矩阵平移

 [N1,N2]=size(g);

 n=2;

 d0=50;

 d1=5;

 n1=fix(N1/2);

 n2=fix(N2/2);

 for i=1:N1

     for j=1:N2

         d=sqrt((i-n1)^2+(j-n2)^2);

         %计算Butterworth低通变换函数

         h=1/(1+0.414*(d/d0)^(2*n));

         result(i,j)=h*g(i,j);

     end

 end

 result=ifftshift(result);

 X2=ifft2(result);

 X3=uint8(real(X2));

三:高通滤波

高通滤波也称高频滤波,它的频率值在0频率处为单位1,随着频率的增长,传递函数的值逐渐增加;当频率增加到一定值后,传递函数的值通常又回到0值或者降低到某个大于1的值。在前一种情况下,高频增强滤波器实际上是一种带通滤波器,只不过规定0频率处的增益为单位1。

在实际应用中,为了减少图像中面积大而且缓慢变化的成分的对比度,有时让0频率处的增益小于单位1更合适。如果传递函数通过原点,则可称为laplacian滤波器。

% 实现Butterworth高通滤波器参考代码

 %计算Butterworth高通变换函数

          if d==0

            h=0;

          else

            h=1/(1+(d1/d)^(2*n));

          end

            result(i,j)=h*g(i,j);

 result=ifftshift(result);

 X4=ifft2(result);

 X5=uint8(real(X2));

 figure(1),subplot(2,2,1),imshow(I1),title('原图像');

 subplot(2,2,2),imshow(I2),title('加噪图像');

subplot(2,2,3),imshow(X3),

title('Butterworth低通滤波器去噪图像');

 subplot(2,2,4),imshow(X5),

title('Butterworth高通滤波器去噪图像');

四:代码实战

1.实验内容

分别用两张以上不同的图片,实现Butterworth低通滤波器和Butterworth高通滤波器, 分别加入不同噪声如高斯噪声,椒盐噪声 (可选加入:指数分布噪声,泊松噪声,乘性噪声),分析Butterworth高通和低通的滤波效果。分析比较Butterworth低通滤波器和不同空域平滑滤波器的差别,结合实验结果对比图进行分析。 

2.Butterworth低通滤波器

function I = Butterworth_low(I_in)
    f=double(I_in);
    g=fft2(f);     %采用傅立叶变换
    g=fftshift(g); %数据矩阵平移
    [N1,N2]=size(g);
    result=zeros(N1,N2);
    n=2;
    d0=50;
    n1=fix(N1/2);
    n2=fix(N2/2);
    for i=1:N1
        for j=1:N2
            d=sqrt((i-n1)^2+(j-n2)^2);
            %计算Butterworth低通变换函数
            h=1/(1+0.414*(d/d0)^(2*n));
            result(i,j)=h*g(i,j);
        end
    end
    result=ifftshift(result);
    X2=ifft2(result);
    I=uint8(real(X2));
end


%lena图片
X1_1=Butterworth_low(I1_1);
figure,subplot(131),imshow(I1),title('lena原图像');
subplot(132),imshow(I1_1),title('加入高斯噪声');
subplot(133),imshow(X1_1),title('Butterworth低通滤波');

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.1-1 lena图像加入高斯噪声的低通滤波结果 

X1_2=Butterworth_low(I1_2);

figure,subplot(131),imshow(I1),title('lena原图像');

subplot(132),imshow(I1_2),title('加入椒盐噪声');

subplot(133),imshow(X1_2),title('Butterworth低通滤波');

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.1-2 lena图像加入椒盐噪声的低通滤波结果 

X1_3=Butterworth_low(I1_3);

figure,subplot(131),imshow(I1),title('lena原图像');

subplot(132),imshow(I1_3),title('加入泊松噪声');

subplot(133),imshow(X1_3),title('Butterworth低通滤波');

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.1-3 lena图像加入泊松噪声的低通滤波结果

%pout图片

X2_1=Butterworth_low(I2_1);

figure,subplot(131),imshow(I2),title('pout原图像');

subplot(132),imshow(I2_1),title('加入高斯噪声');

subplot(133),imshow(X2_1),title('Butterworth低通滤波');

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.1-4 pout图像加入高斯噪声的低通滤波结果

X2_2=Butterworth_low(I2_2); 

figure,subplot(131),imshow(I2),title('pout原图像');

subplot(132),imshow(I2_2),title('加入椒盐噪声');

subplot(133),imshow(X2_2),title('Butterworth低通滤波');

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.1-5 pout图像加入椒盐噪声的低通滤波结果

X2_3=Butterworth_low(I2_3);

figure,subplot(131),imshow(I2),title('pout原图像');

subplot(132),imshow(I2_3),title('加入泊松噪声');

subplot(133),imshow(X2_3),title('Butterworth低通滤波');

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.1-6  pout图像加入泊松噪声的低通滤波结果

%自定义scenery图像

X3_1=Butterworth_low(I3_1);

figure,subplot(131),imshow(I3),title('scenery原图像');

subplot(132),imshow(I3_1),title('加入高斯噪声');

subplot(133),imshow(X3_1),title('Butterworth低通滤波');

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.1-7 scenery图像加入高斯噪声的低通滤波结果

X3_2=Butterworth_low(I3_2);

figure,subplot(131),imshow(I3),title('scenery原图像');

subplot(132),imshow(I3_2),title('加入椒盐噪声');

subplot(133),imshow(X3_2),title('Butterworth低通滤波');

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.1-8 scenery图像加入椒盐噪声的低通滤波结果

X3_3=Butterworth_low(I3_3);

figure,subplot(131),imshow(I3),title('scenery原图像');

subplot(132),imshow(I3_3),title('加入泊松噪声');

subplot(133),imshow(X3_3),title('Butterworth低通滤波');

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.1-9 scenery图像加入泊松噪声的低通滤波结果

3.Butterworth高通滤波器

function I = Butterworth_high(I_in)

    f=double(I_in);

    g=fft2(f);     %采用傅立叶变换

    g=fftshift(g); %数据矩阵平移

    [N1,N2]=size(g);

    result=zeros(N1,N2);

    n=2;

    d1=5;

    n1=fix(N1/2);

    n2=fix(N2/2);

    for i=1:N1

        for j=1:N2

            d=sqrt((i-n1)^2+(j-n2)^2);

            %计算Butterworth低通变换函数

            if d==0

                h=0;

            else

                h=1/(1+(d1/d)^(2*n));

            end

            result(i,j)=h*g(i,j);

        end

    end

    result=ifftshift(result);

    X2=ifft2(result);

    I=uint8(real(X2));

end

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.2-1 lena图像加入高斯噪声的高通滤波结果

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.2-2 lena图像加入椒盐噪声的高通滤波结果

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.2-3 lena图像加入泊松噪声的高通滤波结果

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.2-4 pout图像加入高斯噪声的高通滤波结果

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.2-5 pout图像加入椒盐噪声的高通滤波结果

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.2-6 pout图像加入泊松噪声的高通滤波结果

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.2-7 scenery图像加入高斯噪声的高通滤波结果

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.2-8 scenery图像加入椒盐噪声的高通滤波结果

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

图2.2-9 scenery图像加入泊松噪声的高通滤波结果

注:为了便于调用,我将低通高通滤波封装成了函数的形式,然后再对不同的图片进行函数调用;为了节省篇幅,这里仅将主要代码放上来,且不再将Butterworth高通滤波的调用代码放上来。

4.实验分析

图像增强可以分为空间域、频率域和彩色增强,其包含的内容如下图所示:

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

低通高通滤波是在频率域上对图像的增强,而中值滤波、均值滤波等则是在空间域上对图像的增强。

        一开始我的理解为对于二值图像,当某一像素点与中心点的距离大于D0时,该点的像素值就会被置0,因为根据理想低通滤波函数当D>D0时H=0,当D<=D0时,H=1,而G(u,v)=H(u,v)F(u,v),由于这时候做的是频域上的处理,故不需要进行卷积操作,只需要做乘积操作。这就是问题的关键所在,乘积操作是作用在频域上的,频域上的点不一一和空域上的点对应,所以滤波后的结果并不是说距离中心点距离大于D0就置0。而对应于空域,可将h(x,y)分为两部分:原点处的中心部分,中心周围集中的成周期分布的外围部分。前者决定模糊,后者决定振铃现象。理想低通滤波器函数转换为空域后,对应的函数图像两边对称的余波就是造成振铃现象的原因。

        低通滤波器,顾名思义就是将高频的图像信息过滤掉让低频部分通过,由于低频部分表示图像变化缓慢的部分,故低通滤波器可以实现过滤噪声,平滑图像的功能。低通滤波器有多种,理想的低通滤波器非常尖锐,其在以原点为圆心、D0为半径的园内,通过所有的频率,而在圆外截断所有的频率。从上面实验结果可以看到,布特沃斯低通滤波对于各种噪声的去除效果还是比较理想的,但是实验中发现对变化较平缓的图像(如pout图像),无论是加入高斯噪声还是椒盐噪声,布特沃斯低通滤波的去噪效果并不明显(见图2.1-4)。我猜想其中的原因是由于图像加入噪声之后绝大部分也还是低频信息,通过布特沃斯低通滤波器后绝大多数的噪声未能被过滤掉。因此可以考虑将截止频率D0调低,将D0由50调至30,可以有效去除噪声,但是随之而来的是图像的模糊问题(见下图)。

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

        除此之外,当布特沃斯低通滤波器的阶很大时(截止频率也要较小),这是其效果就接近理想低通滤波器,会产生振铃现象(见下图)。

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

        对于布特沃斯高通滤波,其作用是过滤掉图像的低频部分,保留图像的高频部分。由于图像的高频部分对应着图像的边缘,所以通过高通滤波后的效果是得到图像的边缘,达到图像锐化的作用。由于图像噪声对应着高频部分,所以高通滤波会把噪声保留下来。对于变化平缓的图像(如pout图像),在参数不变的情况下可以看到加入椒盐噪声后锐化效果不明显(得到的边缘不清晰,见图2.2-5)。这是就需要调整参数,以改变其对边缘检测的“灵敏度”,这就说明要降低截止频率,让更多的相对低频的信息能通过,将截止频率由5降至3,得到结果见下图,可以看到图像的边缘更清晰了一些,尽管则会导致噪声的增加。

计算机视觉lena对比度,计算机视觉,计算机视觉,人工智能

        均值滤波、中值滤波等都是直接在空域上对图像进行处理,而布特沃斯低通滤波器是在频域上对图像进行处理,所以在处理上面布特沃斯低通滤波器的处理过程要更“细腻”一些。对于不同的噪声,布特沃斯都能带来较好的降噪效果,而对于空域上面的平滑滤波,均值滤波会导致图像的边缘模糊化,中值滤波可能会改变图像的性质。文章来源地址https://www.toymoban.com/news/detail-791610.html

到了这里,关于【计算机视觉】图像分割与特征提取——频域增强(低通滤波&高通滤波)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机视觉:通过边缘检测探究卷积的特征提取功能

    在前面的课程中,我们学习了卷积核的运算,同时我们也学习了卷积核的含义,我们可以将卷积核理解为特征提取器,也就是说一个卷积核就是一个特征提取器,很多人对这种说法不了解,下面我们就通过一个边缘检测的例子来看一下卷积核是如何进行边缘特征的提取的。

    2024年02月13日
    浏览(44)
  • 矩阵分析与计算机视觉:从特征提取到对象识别

    计算机视觉是人工智能领域的一个重要分支,它涉及到计算机对图像和视频等多媒体数据进行处理和理解的技术。矩阵分析是线性代数的一个重要分支,它涉及到矩阵的运算、分解、求解等方面。在计算机视觉中,矩阵分析起到了关键的支持作用,因为图像和视频数据都可以

    2024年01月19日
    浏览(45)
  • 【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(7 月 6 日论文合集)

    面向跨域语义分割的提示扩散表示法 虽然最初设计用于图像生成,扩散模型最近已证明提供了优秀的预训练的特征表示语义分割。这一结果引起了兴趣,我们开始探索扩散预训练表示如何推广到新的领域,这是任何表示的关键能力。我们发现,扩散预训练实现了非凡的领域泛

    2024年02月12日
    浏览(58)
  • 【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(8 月 30 日论文合集)

    Novis:端到端近在线视频实例分割实例 直到最近,视频实例分割(VIS)社区在以下共同信念下操作:离线方法通常优于逐帧在线处理。然而,最近在线方法的成功质疑这种信念,特别是对于具有挑战性和长视频序列。我们将这项工作理解为对最近观察结果的反驳,并呼吁社区

    2024年02月09日
    浏览(74)
  • 计算机视觉 -- 图像分割

    引入问题: 在自动驾驶系统中,如果用之前的检测网络(例如Faster-Rcnn),试想,倘若前方有一处急转弯,系统只在道路上给出一个矩形标识,这样一来车辆很有可能判断不出是该避让还是径直上前,车祸一触即发。因此,对新技术的诉求应运而生,该技术须能识别具体路况

    2024年02月11日
    浏览(65)
  • 计算机图像处理—HOG 特征提取算法

    1. 实验内容 本实验将学习HOG 特征提取算法。 2. 实验要点 HOG 算法 HOG 算法有效的原因 创建 HOG 描述符 HOG 描述符中的元素数量 可视化 HOG 描述符 理解直方图 3. 实验环境 Python 3.6.6 numpy matplotlib cv2 copy 简介 正如在 ORB 算法中看到的,我们可以使用图像中的关键点进行匹配,以检

    2024年02月09日
    浏览(55)
  • 计算机视觉实验五——图像分割

    了解图割操作,实现用户交互式分割,通过在一幅图像上为前景和背景提供一些标记或利用边界框选择一个包含前景的区域,实现分割。 采用聚类法实现图像的分割(K-means方法)。 ①图片准备 博主选择了一张 前景与背景区分明显 的图片,和一张 前景与背景区分不明显 的

    2024年04月15日
    浏览(49)
  • 计算机视觉基础__图像特征

    目录 一、前言 二、位图和矢量图概念 三、图像的颜色特征 四、RGB 颜色空间 五、HSV 颜色空间 六、HLS 颜色空间 七、CMYK 颜色 八、Lab模式 九、索引模式 十、HSB色彩模式 十一、灰度图 十二、二值图 十三、P(pallete)模式 十四、位图模式 十五、双色调模式 十六、多通道模式

    2023年04月19日
    浏览(51)
  • 【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 7 日论文合集)

    用于图像异常检测的上下文亲和度提取 以往的无监督工业异常检测工作主要集中在局部结构异常,如裂纹和颜色污染。虽然在这种异常上实现了显着的高检测性能,但它们面临着违反远程依赖性的逻辑异常,例如放置在错误位置的正常对象。在本文中,基于以前的知识蒸馏工

    2024年02月12日
    浏览(76)
  • 【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 17 日论文合集)

    Tall:用于深度假冒视频检测的缩略图布局 deepfake对社会和网络安全的威胁日益严重,引起了公众的极大关注,人们越来越多地致力于deepfake视频检测这一关键话题。现有的视频方法实现了良好的性能,但计算密集型。本文介绍了一种简单而有效的策略–缩略图布局(TALL),该

    2024年02月16日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包