一、实验目的

(1)了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学的图像增强的理论知识和相关算法。

(2)熟练掌握低通、高通、带通、同态滤波器的使用方法,明确不同性质的滤波器对图像的影响和作用。

二、实验内容

(1)选择合适的灰度图像,添加随机噪声

(2)对图像进行低通滤波,观察滤波效果

(3)选择一灰度图像,进行高通滤波,观察滤波效果

(4)选择合适的灰度图像,进行带通滤波,观察滤波效果

(5)选择合适的数字图像,进行同态滤波,观察滤波效果

三、实验代码及结果、分析

(1)选择合适的灰度图像,添加随机噪声

  • 代码:

I=imread('E:\大三课件\大三下\数字图像处理\实验\实验四\shiyan4.jpg');

I1=rgb2gray(I);

I2=imnoise(I1,'gaussian',0.03);       %加均值为0,方差为0.03的高斯噪声

I3=double(I2);

fft_I=fft2(I2);         % 二维离散傅立叶变换

shift_I=fftshift(fft_I);    % 直流分量移到频谱中心

[M,N]=size(shift_I);

m=floor(M/2);

n=floor(N/2);

figure(1)

subplot(1,3,1),imshow(I),title('原图像');

subplot(1,3,2),imshow(I1),title('灰度图像');

subplot(1,3,3),imshow(I2),title('加入高斯噪声');      %显示有高斯噪声图像

  • 结果:

  • 分析:
  1. 用imnoise()函数给图像添加噪声,简单的噪声有以下5种类型:’gaussian’(高斯白噪声),‘localvar’ (与图象灰度值有关的零均值高斯白噪声),’poisson’(泊松噪声), ‘salt & pepper’(椒盐噪声)、’speckle’(斑点噪声)。本题中加入高斯噪声

(2)选择一灰度图像,进行通滤波,观察滤波效果

  • 代码

%低通滤波

level=4;%2级巴特沃斯滤波器 2时接近高斯,5时接近理想,但是数值更大时会有模糊效应

d1=20;

d2=50;%截止半径

d3=300;

%巴特沃斯低通滤波

for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2);

h11=1/(1+0.414*(d/d1)^(2*level));

h12=1/(1+0.414*(d/d2)^(2*level));

h13=1/(1+0.414*(d/d3)^(2*level));

result11(i,j)=h11*shift_I(i,j);

result12(i,j)=h12*shift_I(i,j);

result13(i,j)=h13*shift_I(i,j);

end

end

result111=uint8(real(ifft2(ifftshift(result11))));

result112=uint8(real(ifft2(ifftshift(result12))));

result113=uint8(real(ifft2(ifftshift(result13))));

%高斯低通滤波

for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2);

h21=exp(-1/2*(d^2/d1^2));

h22=exp(-1/2*(d^2/d2^2));

h23=exp(-1/2*(d^2/d3^2));

result21(i,j)=h21*shift_I(i,j);

result22(i,j)=h22*shift_I(i,j);

result23(i,j)=h23*shift_I(i,j);

end

end

result121=uint8(real(ifft2(ifftshift(result21))));

result122=uint8(real(ifft2(ifftshift(result22))));

result123=uint8(real(ifft2(ifftshift(result23))));

figure(2)

subplot(2,3,1),imshow(result111),title('巴特沃斯低通滤波d=20');

subplot(2,3,2),imshow(result112),title('巴特沃斯低通滤波d=50');

subplot(2,3,3),imshow(result113),title('巴特沃斯低通滤波d=300');

subplot(2,3,4),imshow(result121),title('高斯低通滤波d=20');

subplot(2,3,5),imshow(result122),title('高斯低通滤波d=50');

subplot(2,3,6),imshow(result123),title('高斯低通滤波d=300');

  • 结果:

  • 分析:

1.巴特沃斯低通滤波器的传递函数为:h=1/(1+0.414*(d/d0)^(2*level));

高斯低通滤波器的传递函数为 :h=exp(-1/2*(d^2/d0^2));

(d0为截止半径,level为巴特沃斯低通滤波器的阶数)

  1. 滤波器的半径不同时,对应的滤波效果也不同,半径越小,平滑效果越明显,但是半径过小,会使得图像变得模糊不清
  2. %巴特沃斯滤波器 2阶时接近高斯,5时接近理想,但是数值更大时会有模糊效应

(3)选择一灰度图像,进行高通滤波,观察滤波效果

  • 代码:

%高通滤波

level=4;%2级巴特沃斯滤波器 2时接近高斯,5时接近理想,但是数值更大时会有模糊效应

d1=2;

d2=4;%截止半径

d3=8;

%巴特沃斯高通滤波

for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2);

h11=1/(1+0.414*(d1/d)^(2*level));

h12=1/(1+0.414*(d2/d)^(2*level));

h13=1/(1+0.414*(d3/d)^(2*level));

result11(i,j)=h11*shift_I(i,j);

result12(i,j)=h12*shift_I(i,j);

result13(i,j)=h13*shift_I(i,j);

end

end

result111=uint8(real(ifft2(ifftshift(result11))));

result112=uint8(real(ifft2(ifftshift(result12))));

result113=uint8(real(ifft2(ifftshift(result13))));

%高斯高通滤波

for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2);

h21=1-exp(-1/2*(d^2/d1^2));

h22=1-exp(-1/2*(d^2/d2^2));

h23=1-exp(-1/2*(d^2/d3^2));

result21(i,j)=h21*shift_I(i,j);

result22(i,j)=h22*shift_I(i,j);

result23(i,j)=h23*shift_I(i,j);

end

end

result121=uint8(real(ifft2(ifftshift(result21))));

result122=uint8(real(ifft2(ifftshift(result22))));

result123=uint8(real(ifft2(ifftshift(result23))));

figure(1)

subplot(1,3,1),imshow(I),title('原图像');

subplot(1,3,2),imshow(I1),title('灰度图像');

subplot(1,3,3),imshow(I2),title('加入高斯噪声');         %显示有高斯噪声图像

figure(2)

subplot(2,3,1),imshow(result111),title('巴特沃斯高通滤波d=20');

subplot(2,3,2),imshow(result112),title('巴特沃斯高通滤波d=50');

subplot(2,3,3),imshow(result113),title('巴特沃斯高通滤波d=300');

subplot(2,3,4),imshow(result121),title('高斯高通滤波d=20');

subplot(2,3,5),imshow(result122),title('高斯高通滤波d=50');

subplot(2,3,6),imshow(result123),title('高斯高通滤波d=300');

  • 结果:

  • 分析:

1、巴特沃斯高通滤波器的传递函数为:h=1/(1+0.414*(d0/d)^(2*level));

高斯高通滤波器的传递函数为 :h=1-exp(-1/2*(d^2/d0^2));

2、图像的大部分能量集中在低频分量,高通滤波会将很多低频分量滤除,导致增强图中边缘得到加强,但光滑区域灰度减弱变暗甚至接近黑色

3、截止半径越大,图像越接近黑色,导致图像的轮廓也不太清晰

4选择合适的灰度图像,进行通滤波,观察滤波效果

  • 代码:

%带通滤波

dl=0.5;

dh=50;%截止半径

for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2);

if d<=dl || d>=dh

h=0;

else

h=1;

end

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

end

end

result1=uint8(real(ifft2(ifftshift(result))));

figure(2)

subplot(1,2,1),imshow(I2),title('高斯噪声图像');

subplot(1,2,2),imshow(result1),title('带通滤波后图像');

  • 结果:

     

  • 分析:

1、带通滤波器的传递函数为H=1 (dl<d<dh), H=0(d=其他)

2、带通滤波器可增强既不是图像中的高频成分也不是低频成分

5)选择合适的灰度图像,进行同态滤波,观察滤波效果

  • 代码:

P = 2*M; Q = 2*N;

I2 = zeros(P,Q);

for i = 1:M

for j =1:N

I2(i,j) = I(i,j);  %对图像进行填充

end

end

I2=log(I2+1);    %取对数

FI=fft2(I2);    %傅里叶变换

rL=1.0;    %rl越靠近1,越亮

rH=1.1;     % 可根据需要效果调整参数 ,rh越大,背景越亮

c=100;       %锐化参数,越大,锐化程度越大

D0=1;  %D0越小,越亮

for u=1:P

for v=1:Q

D(u,v)=sqrt(((u-M).^2+(v-N).^2));  %频率域中点(u,v)与频率矩形中心的距离

H(u,v)=(rH-rL).*(1-exp(-c.*(D(u,v)^2./D0^2)))+rL; %高斯同态滤波

end

end

H=ifftshift(H);  %对H做反中心化

I3=ifft2(H.*FI);  %傅里叶逆变换

I4=real(I3);

result =exp(I4(1:M, 1:N))-1;  %截取一部分,,取指数

figure(1)

subplot(1,3,1),imshow(im),title('灰度图像');

subplot(1,3,2),imshow(In),title('高斯噪声图像');

subplot(1,3,3),imshow(result),title('同态滤波图像');

  • 结果:

  • 分析:

数字图像处理实验四图像频域增强相关推荐

  1. 数字图像处理matlab实验对图像复原,数字图像处理实验07图像的复原处理

    数字图像处理实验 一.数字图像处理实验 实验七 图像的复原处理 一.实验目的 熟悉几种在实际应用中比较重要的图像复原技术,学会用MATLAB复原函数对退化图像进行复原处理. 二.实验内容 1.用点扩散 ...

  2. 数字图像处理实验七--图像压缩编码

    数字图像处理实验七 (图像压缩编码) 实验内容: 基于游程编码的图像压缩 基于离散余弦变换的图像压缩 实验步骤: 使用给定的图像lena做实验,采用im2bw把灰度图像转换为二值图像,试计算二值化时阈 ...

  3. 实验四 图像频域平滑与锐化(Python实现)

    一.实验目的与要求 了解频域变换过程,掌握频域变换特点 熟练掌握频域滤波中常用的平滑和锐化滤波器,能够对不同要求的图像进行滤波处理,体会并正确评价滤波效果,了解不同滤波方式的使用场合,能够从理论上作出 ...

  4. 【Python CUDA版】河北工业大学计算机图像处理实验四:频域平滑与锐化

    一.实验目的与要求 1.了解频域变换过程,掌握频域变换特点 2.熟练掌握频域滤波中常用的平滑和锐化滤波器,能够对不同要求的图像进行滤波处理,体会并正确评价滤波效果,了解不同滤波方式的使用场合,能够从理 ...

  5. 数字图像处理实验八图像的傅里叶变换

    自选一幅灰度图像,编写MATLAB程序,完成图像的傅里叶变换并显示图像傅里叶变换谱. 1.快速图像傅里叶变换函数 Y = fft2(X) 2.将图像频谱零频分量移动到图像频谱中心 Y = fftshi ...

  6. 数字图像处理 实验一 图像的基本运算

    实验一 图像的基本运算 一.实验目的 (1)掌握点运算和代数运算的算法实现和概念 (2)掌握和几何运算的算法实现和概念 (2)掌握灰度变换和几何变换的基本方法 (3)理解图像灰度直方图的概念 二.实验 ...

  7. C语言数字图像处理---2.5图像频域滤波

    上一小节我们介绍了图像频域变换,本小节将以此为基础,介绍图像频域滤波的相关内容,包含常见高通/低通/带通/带阻/方向滤波等频域滤波方法,同时以C语言编码实现,帮助初学者理解和掌握如何进行图像的频域滤波 ...

  8. 数字图像处理 实验四:图像的重建与复原

    实验环境:windows11   matlab2018b 实验有借鉴成分,注意!!! 一.实验目的: 1.了解图像降质/复原处理的模型. 2.了解估计降质函数的基本原理. 3.掌握降质图像中常见噪声模 ...

  9. 数字图像处理实验三-图像基本运算

    实验内容 (1)对图像进行线性点运算. (2)对图像比例放大1.5倍,比例缩小0.7倍,非比例放大到600x700像素,非比例缩小到300x400像素. (3)对图像旋转30度.60度.90度.135 ...

最新文章

  1. easyDarwin--开源流媒体实现
  2. TaggingJS – 可以灵活定制的 jQuery 标签系统插件
  3. Web前端培训分享:Web前端到底是什么?
  4. Proxy 补充学习笔记
  5. 如何在 C# 平台调用云开发?
  6. mysql缓存淘汰机制_聊聊缓存淘汰算法-LRU 实现原理
  7. 无透镜成像相关资料汇总
  8. 函数【Python】
  9. VC++6.0安装步骤
  10. 计算机程序设计vb怎么保存,VB编程:读取文本文件和保存文本文件的方法
  11. java strut2通配符_Struts2的通配符
  12. SCI收录期刊——声学学科 (转载)
  13. 向量ab怎么用计算机打出来,向量怎么用wps打出来
  14. 高分Essay写作要点分析
  15. 2020家用千兆路由器哪款好_家用千兆路由器哪款好(2020年千兆路由器排行榜)...
  16. 《神雕侠侣》——一见杨过误终生,格格一笑很倾城
  17. c语言程序项目任务教程 杨东芳 答案,c语言项目化教程 c语言程序设计
  18. 付费代理IP——Redis数据库的使用01
  19. CVPR-2021 | RepVGG:极简架构,SOTA性能,让VGG式模型再次伟大
  20. 时间复杂度(算法的渐进时间复杂度)

热门文章

  1. Facebook 推出多模态通用模型 FLAVA,吊打 CLIP 平均十个点!
  2. 2021,你好哇!发个小红包可好~
  3. Litho在美团动态化方案MTFlexbox中的实践
  4. 阿里P8架构师谈:java架构师面试技能24全点
  5. 论文浅尝 - AAAI2020 | 利用自然语言推断生成人称一致的对话
  6. CCKS 2018 | 最佳论文:南京大学提出 DSKG,将多层 RNN 用于知识图谱补全
  7. Base64加解密的实现方式
  8. 继续深入更新shell脚本容易出错的地方
  9. Hibernate中用到联合主键的使用方法,为何要序列化,为何要重写hashcode 和 equals 方法...
  10. Unity5和WebGL移植指南的一些总结