一、获取代码方式

获取代码方式1:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

获取代码方式2:
通过紫极神光博客主页开通CSDN会员,凭支付凭证,私信博主,可获得此代码。

获取代码方式3:
完整代码已上传我的资源:【图像增强】基于matlab同态增晰图像增强【含Matlab源码 962期】

备注:开通CSDN会员,仅只能免费获得1份代码(有效期为开通日起,三天内有效);
订阅紫极神光博客付费专栏,可免费获得2份代码(有效期为订阅日起,三天内有效);

二、 图像增强技术简介

1 图像增强
图像增强是对图像的某些特征,如边缘、轮廓、对比度等进行强调或锐化,以便于显示、观察或进一步分析与处理。通过对图像的特定加工,将被处理的图像转化为对具体应用来说视觉质量和效果更“好”或更“有用”的图像。
图像增强是最基本最常用的图像处理技术,常用于其他图像处理的预处理阶段。

(1)高通平滑、低通锐化;平滑模糊、锐化突出图像细节
(2)滤波器还有带通、带阻等形式
(3)根据噪声(椒盐噪声、高斯噪声…)的不同,选用不同的滤波
(4)邻域有4-邻域、对角邻域、8-邻域,相对应的有邻接,即空间上相邻、像素灰度相似
(5)图像边缘处理:忽略不处理、补充、循环使用
(6)目前尚未图像处理大多基于灰度图像

2 同态增晰
同态增晰是一种在频域中将图像的动态范围进行压缩并将图像对比度进行增强的方法。将图像f(x,y)用照明分量和反射分量表示,则可以用以下方法分别进行滤波:

步骤为:先对f(x,y)取对数,其次进行傅里叶变换,然后用一个频域函数H(u,v)处理,再做傅里叶反变换,最后取指数。
同态增晰的关键在于如何取得合适的H(u,v),使得这个函数可以用不同的方法影响傅里叶变换的高频和低频成分。根据之前的理论,H(u,v)的曲线应如下图所示:

该曲线可以通过适当修改高通滤波器曲线来实现。本次作业使用的是修改后的高斯高通滤波器模型:

三、部分源代码

%同态滤波
clear all;clc;
a=imread('image.png');
a=rgb2gray(a);
b=double(a);
[m,n]=size(b);
rL=0.5;   %默认低频增益
rH=2.0;   %默认高频增益
c=1.5;      %控制滤波器函数斜面
d0=1800;    %截止频率
b1=log(b+1);%取对数
FI=fft2(b1);%二维傅里叶变换
x=floor(m/2);%floor向下取整
y=floor(n/2);for u=1:mfor v=1:n D1(u,v)=((u-x).^2+(v-y).^2);%求点到频率矩形中心的距离H1(u,v)=(rH-rL).*(1-(exp(c*(-D1(u,v)./(d0^2)))))+rL; % 高斯同态滤波 % H1(u,v)=(rH-rL).*(1/(1+(d0/c*(D2(i,j).*1)^2)))+rL; % 巴特沃斯滤波器   end
end
figure,
subplot(121);imshow(a);title('原图');
subplot(122);
imshow(b3,[]);title('同态滤波后图像');%显示处理后图像%绘制滤波函数曲线figure,
plot(H11);title('滤波函数H(u,v)');
grid on

四、运行结果


五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.

【图像增强】基于matlab同态增晰图像增强【含Matlab源码 962期】相关推荐

  1. 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】

    一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...

  2. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

  3. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  4. 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  5. 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...

  6. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

  7. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  8. 【Matlab语音加密】语音信号加密解密(带面板)【含GUI源码 181期】

    一.代码运行视频(哔哩哔哩) [Matlab语音加密]语音信号加密解密(带面板)[含GUI源码 181期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆 ...

  9. 【Matlab身份证识别】身份证号码识别【含GUI源码 014期】

    一.代码运行视频(哔哩哔哩) [Matlab身份证识别]身份证号码识别[含GUI源码 014期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  10. 【Matlab人脸识别】KL变换人脸识别【含GUI源码 859期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]KL变换人脸识别[含GUI源码 859期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

最新文章

  1. 计算机网络概述---传输层 UDP和TCP
  2. An Edge-Guided Image Interpolation Algorithm via Directional Filtering and Data Fusion【翻译】
  3. python set()函数讲解
  4. Apache Lucene中的并发查询执行
  5. 在Python,Java和Kotlin中标记参数和重载
  6. 【架构设计的艺术】Kafka如何通过精妙的架构设计优化JVM GC问题?
  7. 一个老者给年轻人的几个忠告
  8. html让时间只展示年月日_JS 如何动态显示当前年月日时分秒-百度经验
  9. mysql 批量更新_MySQL批量更新
  10. MySQL查询语句格式总结
  11. 广州蓝景分享—「web前端素材」使用CSS动画效果(下)
  12. javassist教程
  13. P2P网络借贷平台的第三方资金托管机制
  14. Redis穿透、击穿、雪崩解决方案
  15. RFID固定资产管理系统全生命周期管理办公资产
  16. 华为诺亚方舟实验室招聘AI研究实习生
  17. JAVA spring定时任务
  18. matlab静电场有限元分析
  19. 一个页面两个或多个swiper vue中一个页面多个swiper互相干扰 swiper轮播冲突
  20. 致远SPM解决方案之费用管理

热门文章

  1. 洛谷P1605 迷宫【dfs】
  2. iOS:面试八大陷阱
  3. 添加到当前最上层view
  4. 为什么有int 和integer
  5. C#压缩指定的文件并生成zip文件
  6. ipq_read(3)
  7. sql server 中某个字段值合并【转】
  8. pytesseract识别数字
  9. Python3入门机器学习经典算法与应用 第3章 更多相关操作
  10. C++读xml文件, C#解析对应的文件