当前位置:网站首页>Matlab学习12-图像处理之图像增强
Matlab学习12-图像处理之图像增强
2022-08-03 11:30:00 【CHengYuP】
前言
图像增强基本思路是:
允许一定频率通过(保留某些频率分量),限制或消减另外一些频率(消除某些频率分量)。
转移函数的优劣是滤波器优劣的关键。
频域增强方法根据滤波特点,特别是消除或保留的频率分量可以分为:
- 低通滤波
基本原理:
保留图像中的低频分量而除去高频分量。
作用:
除去或消弱噪声影响并模糊边缘轮廓,属于图像平滑处理技术。因为:图像中的边缘和噪声对应图像傅里叶频谱中的高频部分。
包括:
·理想低通滤波器(ILPF)
·巴特沃斯低通滤波器(BLPF)
·指数低通滤波器(ELPF)
·梯形低通滤波器(TLPF)
·高斯低通滤波器(GLPF)
- 高通滤波
基本原理:
保留图像中的高频分量而除去低频分量。
作用:
突出物体边缘轮廓,属于图像锐化处理技术。
因为:图像中的边缘对应图像傅里叶频谱中的高频部分。
效果:
锐化物体边缘,但光滑区域灰度减弱、变暗甚至接近黑色。
因为:图像中大部分能量集中在低频分量里,高通滤波将会滤除大部分低频分量。
包括:
·理想高通滤波器(IHPF)
·巴特沃斯高通滤波器(BHPF)
·指数高通滤波器(EHPF)
·梯形高通滤波器(THPF)
·高斯高通滤波器(GHPF)
·高频增强滤波器
·高频提升滤波器
- 带通&带阻滤波
- 同态滤波
一、理想低通滤波
效果
代码
%理想低通滤波
f1xy=imread("img/eight.tif");
subplot(2,3,1),imshow(f1xy),xlabel("(a)原始图像");
f2xy=imnoise(f1xy,'salt & pepper',0.05);
subplot(2,3,2),imshow(f2xy),xlabel("(b)噪声图像");
fxy=double(f2xy);
Fuv=fft2(fxy);
FftShift=fftshift(Fuv);
AbsFftShift=abs(FftShift);
LogAbsFftShift=log(AbsFftShift);
subplot(2,3,3),imshow(LogAbsFftShift,[]),xlabel("(c)噪声图像的傅里叶幅度谱对数图像"),colormap(gray),colorbar;
%图的尺寸
[N1,N2]=size(FftShift);
% 截至频率D0=50时的滤波效果
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);
if(d<D0)
G(i,j)=FftShift(i,j);
else
G(i,j)=0;
end
end
end
% 反变换
G=ifftshift(G);
g=ifft2(G);
g=uint8(real(g));
subplot(2,3,4),imshow(g),xlabel("(d)滤波图像(D0=50)");
D0=80;
for i=1:N1
for j=1:N2
d=sqrt((i-n1)^2+(j-n2)^2);
if(d<D0)
G(i,j)=FftShift(i,j);
else
G(i,j)=0;
end
end
end
% 反变换
G=ifftshift(G);
g=ifft2(G);
g=uint8(real(g));
subplot(2,3,6),imshow(g),xlabel("(e)滤波图像(D0=80)");
二、巴特沃斯低通滤波
效果
代码
% 巴特沃斯低通滤波
f1xy=imread("img/eight.tif");
subplot(2,3,1),imshow(f1xy),xlabel("(a)原始图像");
f2xy=imnoise(f1xy,'salt & pepper',0.05);
subplot(2,3,2),imshow(f2xy),xlabel("(b)噪声图像");
% 傅里叶变换
fxy=double(f2xy);
Fuv=fft2(fxy);
FftShift=fftshift(Fuv);
AbsFftShift=abs(FftShift);
LogAbsFftShift=log(AbsFftShift);
subplot(2,3,3),imshow(LogAbsFftShift,[]),xlabel("(c)噪声图像的傅里叶幅度谱对数图像"),colormap(gray),colorbar;
[N1,N2]=size(FftShift);
% 阶数n=2,截至频率D0=40时的滤波效果
n=2;
D0=40;
%中心点
n1=fix(N1/2);
n2=fix(N2/2);
for i=1:N1
for j=1:N2
d=sqrt((i-n1)^2+(j-n2)^2);
H=1/(1+(sqrt(2)-1)*(d/D0)^(2*n));
G(i,j)=H*FftShift(i,j);
end
end
% 反变换
G=ifftshift(G);
g=ifft2(G);
g=uint8(real(g));
subplot(2,3,4),imshow(g),xlabel("(d)滤波图像({\itn}=2,{\itD}0=40)");
% 阶数n=2,截至频率D0=60时的滤波效果
n=2;
D0=60;
%中心点
n1=fix(N1/2);
n2=fix(N2/2);
for i=1:N1
for j=1:N2
d=sqrt((i-n1)^2+(j-n2)^2);
H=1/(1+(sqrt(2)-1)*(d/D0)^(2*n));
G(i,j)=H*FftShift(i,j);
end
end
% 反变换
G=ifftshift(G);
g=ifft2(G);
g=uint8(real(g));
subplot(2,3,6),imshow(g),xlabel("(e)滤波图像(n=2,D0=60)");
三、高斯高通滤波
效果
代码
% 高斯高通滤波
fxy=imread("img/lena.bmp");
subplot(2,2,1),imshow(fxy),xlabel("(a)原始图像");
% 傅里叶幅度谱的对数图像显示
fxy=double(fxy);
Fuv=fft2(fxy);%二维傅里叶变换
ShiftFuv=fftshift(Fuv);
AbsShiftFuv=abs(ShiftFuv);%傅里叶幅度谱
LogAbsShiftFuv=log(AbsShiftFuv);%傅里叶幅度谱可视化
subplot(2,2,2),imshow(LogAbsShiftFuv,[]),xlabel("(b)傅里叶幅度谱对数图像");
% 截至频率D0=10时的滤波效果
[N1,N2]=size(ShiftFuv);
D0=10;
%中心点
n1=fix(N1/2);
n2=fix(N2/2);
for i=1:N1
for j=1:N2
d=sqrt((i-n1)^2+(j-n2)^2);
Huv=1-exp(-d^2/(2*D0^2));% 高斯高通公式
G(i,j)=Huv*ShiftFuv(i,j);
end
end
% 反变换
G=ifftshift(G);
g=ifft2(G);
g=uint8(real(g));
subplot(2,2,3),imshow(g),xlabel("(c)滤波图像(D0=10)");
% 截至频率D0=20时的滤波效果
[N1,N2]=size(ShiftFuv);
D0=20;
%中心点
n1=fix(N1/2);
n2=fix(N2/2);
for i=1:N1
for j=1:N2
d=sqrt((i-n1)^2+(j-n2)^2);
Huv=1-exp(-d^2/(2*D0^2));
G(i,j)=Huv*ShiftFuv(i,j);
end
end
% 反变换
G=ifftshift(G);
g=ifft2(G);
g=uint8(real(g));
subplot(2,2,4),imshow(g),xlabel("(d)滤波图像(D0=20)");
总结
频域增强与空域增强的关系
空域滤波增强分为平滑滤波和锐化滤波。
·从空域的角度看,平滑滤波能够减少局部灰度起伏和噪声干扰;
·从频域的角度看,灰度起伏和噪声干扰具有较高的频率,滤除它可以采用具有低通能力的频域滤波器。
空域滤波增强的基本原理是利用图像与模板的卷积来进行。
·根据卷积定理,空域中图像与模板的卷积等于图像的傅里叶变换和模板的傅里叶变换在频域的乘积。
·根据图像频域增强的基本原理,频域图像增强是频域原始图像与频域传递函数的乘积,即图像的傅里叶变换与频域传递函数的乘积。
点击获取源码
边栏推荐
- [论文阅读] (23)恶意代码作者溯源(去匿名化)经典论文阅读:二进制和源代码对比
- Summary of redis basics - data types (strings, lists, sets, hashes, sets)
- [LeetCode—Question 2 Sum of Two Numbers Detailed Code Explanation ] The source code is attached, which can be copied directly
- [错题]电路维修
- C - 为什么指针常常初始化为 NULL?
- 【网络原理的概念】
- 「全球数字经济大会」登陆 N 世界,融云提供通信云服务支持
- 微信小程序获取用户手机号码
- 成为优秀架构师必备技能:怎样才能画出让所有人赞不绝口的系统架构图?秘诀是什么?快来打开这篇文章看看吧!...
- 【JS 逆向百例】某网站加速乐 Cookie 混淆逆向详解
猜你喜欢

巴比特 | 元宇宙每日必读:玩家离场,平台关停,数字藏品市场正逐渐降温,行业的未来究竟在哪里?...

【MySQL功法】第5话 · SQL单表查询

第四课 标识符、关键字、变量、变量的分类和作用域、常量
请问应该用什么关键字将内容主题设置为 dark 呢

FR9811S6 SOT-23-6 23V, 2A Synchronous Step-Down DC/DC Converter

For invoice processing DocuWare, cast off the yoke of the paper and data input, automatic processing all the invoice received

通过组策略安装软件和删除用户配置文件

html+css+php+mysql实现注册+登录+修改密码(附完整代码)

字节最爱问的智力题,你会几道?
![[Bubble sort and odd-even sorting]](/img/89/d63afe1900a05b2a5615fcc3c09ccb.png)
[Bubble sort and odd-even sorting]
随机推荐
小身材有大作用——光模块基础知识(一)
JS快速高效开发技巧指南(持续更新)
Classical Architecture and Memory Classification of Embedded Software Components
Realize 2d characters move left and right while jumping
Dry goods!A highly structured and sparse linear transformation called Deformable Butterfly (DeBut)
微信为什么使用 SQLite 保存聊天记录?
viewstub 的详细用法_pageinfo用法
FR9811S6 SOT-23-6 23V,2A同步降压DC/DC转换器
面试官:SOA 和微服务的区别?这回终于搞清楚了!
87.(cesium之家)cesium热力图(贴地形)
ERC20通证标准是什么?
完全背包问题的思路解析
缓存--伪共享问题
【网络原理的概念】
使用.NET简单实现一个Redis的高性能克隆版(一)
redis基础知识总结——数据类型(字符串,列表,集合,哈希,集合)
本周四晚19:00知识赋能第4期直播丨OpenHarmony智能家居项目之设备控制实现
成为优秀架构师必备技能:怎样才能画出让所有人赞不绝口的系统架构图?秘诀是什么?快来打开这篇文章看看吧!...
【二分查找详解外加递归写法】附有全部代码
「全球数字经济大会」登陆 N 世界,融云提供通信云服务支持